Maison > développement back-end > Tutoriel Python > qu'est-ce que la méthode python

qu'est-ce que la méthode python

藏色散人
Libérer: 2019-10-25 11:16:13
original
3090 Les gens l'ont consulté

qu'est-ce que la méthode python

Quelle est la méthode python ? Les méthodes

sont utilisées pour décrire le comportement des objets.

Les méthodes définies dans une classe peuvent être grossièrement divisées en quatre catégories : méthodes publiques, méthodes privées, méthodes statiques et méthodes de classe.

Les méthodes publiques et les méthodes privées font généralement référence à des méthodes d'instance appartenant à des objets

Les noms des méthodes privées commencent par deux traits de soulignement __.

Chaque objet possède ses propres méthodes publiques et privées, et les membres appartenant aux classes et aux objets sont accessibles dans ces deux types de méthodes.

Les méthodes publiques sont appelées directement via le nom de l'objet.

Les méthodes privées ne peuvent pas être appelées directement via le nom de l'objet. Elles ne peuvent être appelées que via self dans la méthode d'instance ou en externe via des méthodes spéciales prises en charge. par python.

Toutes les méthodes d'instance d'une classe doivent avoir au moins un paramètre nommé self, et doit être le premier paramètre formel de la méthode. Le paramètre self représente l'objet lui-même.

Vous devez préfixer self lors de l'accès aux propriétés d'instance dans une méthode d'instance d'une classe, mais vous n'avez pas besoin de transmettre ce paramètre lors de l'appel d'une méthode objet en externe via la méthode du nom de l'objet, vous devez le transmettre explicitement. un nom d'objet au paramètre self de la méthode pour spécifier clairement à quels membres de données de l'objet il faut accéder.

Les méthodes statiques et les méthodes de classe peuvent être appelées via des noms de classe et des noms d'objet, mais les membres appartenant à l'objet ne sont pas directement accessibles, seuls les membres appartenant à la classe sont accessibles. Généralement, cls est utilisé comme premier paramètre d'une méthode de classe, représentant la classe elle-même. Il n'est pas nécessaire de transmettre une valeur pour ce paramètre lors de l'appel de la méthode de classe.

Recommandé : "Tutoriel Python"

>>>class Root:
__total = 0
def __init__(self, v): #构造函数
self.__value = v
Root.__total + = 1
def show(self): #普通实例方法
print(‘self.__value:’,self.__value)
print(‘Root.__total:’,Root.__total)
@classmethod #修饰器,声明类方法
def classShowTotal(cls): #类方法
print(cls.__total)
@staticmethod #修饰器,声明静态方法
def staticShowTotal(): #静态方法
print(Root.__total)
>>>r = Root(3)
>>>r.classShowTotal() #通过对象来调用类方法
1
>>>r.staticShowTotal() #通过对象来调用静态方法
1
>>>r.show()
self.__value:3
Root.__total:1
>>>rr = Root(5)
>>>Root.classShowTotal() #通过类名调用类方法
2
>>>Root.staticShowTotal() #通过类名调用静态方法
2
>>>Root.show() #通过类名直接调用实例方法,报错
Copier après la connexion

Rapport d'erreurs

>>>Root.show(r) #调用方法并访问实例成员
self.__value:3
Root.__total:2
>>>r.show()
self.__value:3
Root.__total:2
>>>Root.show(rr) #通过类名调用实例方法时为 self 参数显式传递对象名
self.__value:5
Root.__total:2
>>>rr.show()
self.__value:5
Root.__total:2
Copier après la connexion

Remarque : Les données membres de différentes instances d'objet ne s'affectent pas les unes les autres et ne sont pas partagé à tout moment. Mais toutes les méthodes d'instance de la même classe sont partagées entre différents objets. Tous les objets exécutent le même code et le paramètre self est utilisé pour déterminer quelles données d'objet doivent être traitées.

En Python, il existe une différence entre les fonctions et les méthodes. Une méthode fait généralement référence à une fonction liée à une instance spécifique. Lorsqu'une méthode est appelée via un objet, l'objet lui-même sera passé comme premier paramètre. Les fonctions ordinaires n'ont pas cette fonctionnalité.

>>>class Demo
pass
>>>t = Demo()
>>>def test(self, v):
self.value = v
>>>t.test = test #动态增加普通函数
>>>t.test
>>>t.test(t,3)
>>>print(t.value)
3
>>>import types
>>>t.test = types.MethodType(test, t) #动态增加绑定的方法
>>>t.test
>>>t.test(5)
>>>print(t.value)
5
Copier après la connexion

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal