Maison > développement back-end > Tutoriel Python > Quelles sont les principales différences entre les méthodes liées, non liées et statiques en Python ?

Quelles sont les principales différences entre les méthodes liées, non liées et statiques en Python ?

Linda Hamilton
Libérer: 2024-11-16 09:39:02
original
974 Les gens l'ont consulté

What are the Key Differences between Bound, Unbound, and Static Methods in 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"
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal