Maison > Article > développement back-end > Quelles sont les principales différences entre les méthodes liées, non liées et statiques en Python ?
Comprendre les distinctions entre les méthodes de classe en Python : liées, non liées et statiques
Les méthodes liées et indépendantes sont des concepts distincts dans la programmation orientée objet de Python .
Les méthodes liées sont associées à une instance d'une classe car elles opèrent sur un objet spécifique. Lors de l'appel d'une méthode liée, le premier paramètre de la fonction représente l'instance d'objet, par exemple a_test.method_one().
Les méthodes non liées, en revanche, ne sont pas liées à une instance d'objet particulière. Ils sont définis à l'aide du nom de classe, par exemple Test.method_two().
L'extrait de code présenté illustre à la fois les méthodes liées et non liées. La fonction method_one est liée à l'instance a_test, en utilisant la syntaxe d'objet, tandis que method_two est indépendante et ne nécessite pas l'appel d'une instance d'objet.
Les méthodes statiques sont un type spécial de méthode indépendante qui n'a pas d'accès. au paramètre self. Ils sont déclarés à l'aide du décorateur @staticmethod et peuvent être invoqués directement sur les objets de classe et d'instance.
Dans l'extrait de code modifié :
@staticmethod def method_two(): print "Called method two"
La fonction method_two est convertie en méthode statique . Cela lui permet d'être appelé à la fois comme a_test.method_two() et Test.method_two(), sans provoquer d'erreurs.
Les méthodes liées sont le type le plus courant et sont utilisées lors de la manipulation d'instances d'objet. Les méthodes non liées sont utiles pour les fonctions utilitaires qui ne nécessitent pas de contexte d'objet spécifique. Les méthodes statiques fournissent un moyen de définir des fonctions au niveau de la classe.
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!