Maison  >  Article  >  développement back-end  >  Analyse détaillée de l'utilisation des méthodes de classe liées et non liées en Python

Analyse détaillée de l'utilisation des méthodes de classe liées et non liées en Python

高洛峰
高洛峰original
2017-03-06 13:45:281108parcourir

Les exemples de cet article décrivent les méthodes de classe liées et non liées en Python. Partagez-le avec tout le monde pour référence, comme suit :

Comme les fonctions, les méthodes de classe en Python sont également des objets. Étant donné que les méthodes sont accessibles à la fois via des instances et des classes, il existe deux styles en Python :

Méthode de classe non liée : aucun auto

passe la classe à la méthode de référence renvoie un non lié objet méthode. Pour l'appeler, vous devez fournir explicitement une instance comme premier argument.

Méthode d'instance liée : il existe self

pour renvoyer un objet de méthode lié via la méthode d'accès à l'instance. Python lie automatiquement une instance à la méthode, nous n'avons donc pas besoin de transmettre un paramètre d'instance lors de son appel.

Les deux méthodes sont des objets, elles peuvent être transmises, stockées dans des listes et attendues. Les deux environnements d'exécution nécessitent une instance comme premier argument (une valeur propre), mais Python en fournit automatiquement une lors de l'appel d'une méthode liée via une instance. Par exemple, nous exécutons le code suivant :

class Test:
  def func(self,message):
    print message
object1=Test()
x=object1.func
x('绑定方法对象,实例是隐含的')
t=Test.func
t(object1,'未绑定的方法对象,需要传递一个实例') 
#t('未绑定的方法对象,需要传递一个实例') #错误的调用

object1=Test() génère une instance, object1.func renvoie une méthode liée et met le instance object1 Lié à la méthode func.

Et Test.func utilise une classe pour référencer une méthode, et nous obtenons un objet méthode non lié. Pour l'appeler, vous devez passer un paramètre d'instance, tel que t(object1, 'Unbound method object, vous devez passer une instance').

La plupart du temps, nous appelons les méthodes directement, donc nous ne remarquons généralement pas l'objet méthode. Mais si vous commencez à écrire du code qui appelle des objets génériques, vous devez accorder une attention particulière aux méthodes non liées, qui nécessitent de passer un paramètre d'instance.

Pour une analyse plus détaillée de l'utilisation des méthodes de classes liées et non liées en Python, veuillez prêter attention au site Web PHP chinois !

Déclaration:
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