Cet article présente principalement les différences entre les fonctions et les méthodes en Python sous plusieurs dimensions :
Tout d'abord, analysez-le du point de vue de la classification.
(1) Classification des fonctions : (Apprentissage recommandé : Tutoriel vidéo Python)
Fonctions intégrées : Certaines fonctions embarquées dans python.
Fonction anonyme : une ligne de code implémente une fonction function.
Fonction récursive
Fonction personnalisée : Définissez des fonctions en fonction de vos propres besoins.
(2) Classification des méthodes :
Méthode ordinaire : méthode appelée directement avec soi.
Méthode privée : __ nom de la fonction, une méthode qui ne peut être appelée que dans la classe.
Méthode Property : @property, déguisez la méthode en attribut pour rendre le code plus raisonnable.
Méthode spéciale (méthode de double soulignement) : En prenant __init__ comme exemple, elle est utilisée pour encapsuler les attributs de l'objet instancié. Tant que l'objet est instancié, la méthode __init sera exécutée s'il y en a. aucune méthode de ce type dans la sous-classe d'objet Elle recherchera la classe parent (super classe). S'il n'y a pas de classe parent (super classe), elle héritera directement de la classe objet (python 3.x) et exécutera la méthode __init__ dans le classe. Méthode de classe : exploitez les propriétés et les méthodes dans le modèle public en appelant le nom de la classe.
Méthode statique : C'est une méthode qui n'a pas besoin de passer dans l'espace de classe ou dans l'objet. Sa fonction est d'assurer la cohérence et la standardisation du code. Elle peut être une méthode complètement indépendante en dehors de la classe, mais. par souci de cohérence du code, il peut être placé de manière unifiée dans un module (fichier py).
Deuxièmement, analysez-le du point de vue de la portée :
(1) Portée de la fonction : du début de l'appel de fonction à la fin de l'exécution de la fonction, après en revenant à l'appelant, L'espace ouvert lors de l'exécution sera automatiquement libéré, c'est-à-dire qu'une fois l'exécution de la fonction terminée, la valeur de la variable modifiée par affectation et d'autres méthodes à l'intérieur du corps de la fonction ne sera pas conservée. sera automatiquement libéré après avoir été renvoyé à l'appelant.
(2) Portée de la méthode : Lorsqu'une méthode est appelée via un objet instancié, l'espace ouvert après l'appel ne sera pas libéré, ce qui signifie que la valeur modifiée de la variable dans la méthode appelante sera toujours conservée .
Enfin, la méthode d'appel est différente.
(1) Fonction : appelée via "nom de la fonction ()".
(2) Méthode : appelée via "object.method name".
class Foo(object): def func(self): pass #实例化 obj = Foo() # 执行方式一:调用的func是方法 obj.func() #func 方法 # 执行方式二:调用的func是函数 Foo.func(123) # 函数
Pour plus d'articles techniques liés à Python, veuillez visiter la colonne Tutoriel Python pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!