Fonction qui s'execute sans etre appelée
Résolu/Fermé- Fonction qui s'execute sans etre appelée
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Fonction remplacer word - Guide
2 réponses
Samut,
quelle fonction au juste?
Je voit un objet moi. Quand on crée une instance d'une objet le constructeur est utilisé.
Voir POO
Les fonctions (internes)d'un objet sont appelées méthodes et rien n'empêche d'utiliser une méthode dans le constructeur.
Si vous créez un objet vous appelez son constructeur.
En instanciant(créer un objet à partir du modèle décrit par Class) "Projet" vous créez une zone où va s'exécuter le constructeur stocké dans la variable "Project") et rendez disponible les méthodes par référence à la variable Project.
Je vous conseille de donner des noms différents pour vos instances de classe et vos classes ça sera plus clair. En général on indique les Objects avec une majuscule et les instance en minuscule.
Ces deux habitudes permettent de rendre le programme beaucoup pllus clair et simple à lire sans devoir chercher qu'est ce Project et Projet dans le code. Donner un nom clair c'est assez simple et facilite la vie, par exemple:
class Projet://-- création de la classe
...
instanceProjet=Projet(...//-- instanciation de la classe
Voilà Projet et instanceProjet sont assez différents pour qu'n voie au premier coup d'oeil lequel est le quel sans devoir revenir dans le code.
C'st bien sûr un exemple, il est plus logique de donner un nom en rapport avec le rôle de la classe(ce à quoi elle sert) par exemple:
horloge= Projet(....
Salut, mettre les parenthèses à une fonction/méthode fait un appel à cette fonction, donc normal que Command1(self) appelle la fonction Command1 (PCHIFoLancer), si on a besoin de passer des arguments à une fonction passée dans l'argument command d'un Button qui attend une référence et non le retour d'une fonction, alors soit on crée une fontion intermédiaire, soit on utilise une fonction anonyme.
self.BSupp = Button(..., command=lambda: Command2(self), ...)
3 janv. 2023 à 17:48
merci mais c'est bien des fonctions appelées par les boutons et non pas les méthodes dont je parlais.