Comprendre les différences entre les fonctions, les méthodes non liées et les méthodes liées
Comprendre la distinction entre les fonctions, les méthodes non liées et les méthodes liées est crucial pour la programmation en Python. Ce guide dévoile les différences, explique comment elles sont transformées et fournit des exemples pour illustrer leur utilisation.
Fonctions
Les fonctions sont définies avec l'instruction def ou lambda. Ce sont des instructions autonomes qui effectuent des opérations spécifiques.
Méthodes non liées
Sous Python 2, les fonctions définies dans un corps de classe sont transformées en méthodes indépendantes. Ce sont toujours des fonctions mais ont un premier paramètre implicite, qui est la classe.
Méthodes liées
Lorsqu'une méthode non liée est accédée sur une instance de classe, elle est convertie dans une méthode liée. L'instance de classe est automatiquement passée comme premier paramètre self à la méthode.
Transformation
Utilisation
Exemple
Considérez ce qui suit code :
<code class="python">def f1(self): pass class C(object): f1 = f1</code>
Ici, f1 est une fonction, C.f1 est une méthode non liée, et C().f1 est une méthode liée.
Distinction Python 3
Python 3 élimine le concept de méthodes non liées. Les fonctions accessibles sur les instances de classe sont simplement renvoyées en tant que fonction d'origine.
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!