Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist die Python-Methode?

Was ist die Python-Methode?

藏色散人
藏色散人Original
2019-10-25 11:16:133046Durchsuche

Was ist die Python-Methode?

Was ist die Python-Methode?

Methoden werden verwendet, um das Verhalten eines Objekts zu beschreiben.

In einer Klasse definierte Methoden können grob in vier Kategorien unterteilt werden: öffentliche Methoden, private Methoden, statische Methoden und Klassenmethoden.

Öffentliche Methoden und private Methoden beziehen sich im Allgemeinen auf Instanzmethoden, die zu Objekten gehören

Die Namen privater Methoden beginnen mit zwei Unterstrichen __.

Jedes Objekt verfügt über seine eigenen öffentlichen und privaten Methoden, und über diese beiden Arten von Methoden kann auf Mitglieder zugegriffen werden, die zu Klassen und Objekten gehören.

Öffentliche Methoden werden direkt über den Objektnamen aufgerufen. Sie können nur über self in der Instanzmethode oder extern über spezielle unterstützte Methoden aufgerufen werden von Python.

Alle Instanzmethoden einer Klasse müssen mindestens einen Parameter namens self haben und der erste formale Parameter der Methode sein. Der self-Parameter repräsentiert das Objekt selbst.

Sie müssen self voranstellen, wenn Sie auf Instanzeigenschaften in einer Instanzmethode einer Klasse zugreifen. Sie müssen diesen Parameter jedoch nicht übergeben, wenn Sie eine Objektmethode extern über den Objektnamen aufrufen, wenn Sie eine zugehörige öffentliche Eigenschaft aufrufen Um das Objekt über den Klassennamen extern, Methode, zu verbinden, müssen Sie explizit einen Objektnamen an den Self-Parameter der Methode übergeben, um klar anzugeben, auf welche Datenelemente des Objekts zugegriffen werden soll.

Sowohl statische Methoden als auch Klassenmethoden können über Klassennamen und Objektnamen aufgerufen werden. Auf die zum Objekt gehörenden Mitglieder kann jedoch nicht direkt zugegriffen werden, sondern nur auf die zur Klasse gehörenden Mitglieder. Im Allgemeinen wird cls als erster Parameter einer Klassenmethode verwendet und stellt die Klasse selbst dar. Beim Aufruf der Klassenmethode muss kein Wert für diesen Parameter übergeben werden.

Empfohlen: „

Python-Tutorial

>>>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() #通过类名直接调用实例方法,报错
Fehlerberichterstattung

>>>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

Hinweis: Datenelemente verschiedener Objektinstanzen beeinflussen sich nicht gegenseitig und sind es auch nicht jederzeit geteilt. Allerdings werden alle Instanzmethoden derselben Klasse von verschiedenen Objekten gemeinsam genutzt. Alle Objekte führen denselben Code aus, und der Parameter self wird verwendet, um zu bestimmen, welche Objektdaten verarbeitet werden sollen.

In Python gibt es einen Unterschied zwischen Funktionen und Methoden. Eine Methode bezieht sich im Allgemeinen auf eine Funktion, die an eine bestimmte Instanz gebunden ist. Wenn eine Methode über ein Objekt aufgerufen wird, wird das Objekt selbst als erster Parameter übergeben. Gewöhnliche Funktionen verfügen nicht über diese Funktion.

>>>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

Das obige ist der detaillierte Inhalt vonWas ist die Python-Methode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:So installieren Sie Python3Nächster Artikel:So installieren Sie Python3