Heim >Backend-Entwicklung >Python-Tutorial >Der Unterschied zwischen Methoden und Funktionen in Python
In diesem Artikel werden hauptsächlich die Unterschiede zwischen Funktionen und Methoden in Python aus mehreren Dimensionen vorgestellt:
Erstens Lassen Sie es uns aus der Perspektive der Klassifizierung analysieren.
(1) Funktionsklassifizierung:
Eingebaute Funktionen: Einige in Python eingebettete Funktionen. Anonyme Funktion: Eine Codezeile implementiert eine Funktion. Benutzerdefinierte Funktion für rekursive Funktionen: Definieren Sie Funktionen entsprechend Ihren eigenen Anforderungen.
(2) Klassifizierung von Methoden:
Gewöhnliche Methode: Methode, die direkt mit self aufgerufen wird. Private Methode: __Funktionsname, eine Methode, die nur in der Klasse aufgerufen werden kann. Eigenschaftsmethode: @property, tarnen Sie die Methode als Eigenschaft, damit der Code vernünftiger aussieht. Spezielle Methode (doppelte Unterstreichungsmethode): Am Beispiel von __init__ wird sie zum Kapseln der Attribute des instanziierten Objekts verwendet. Solange das Objekt instanziiert ist, wird die __init-Methode ausgeführt. Die übergeordnete Klasse wird durchsucht (Superklasse). Wenn keine übergeordnete Klasse (Superklasse) vorhanden ist, erben Sie direkt die Objektklasse (Python 3.x) und führen Sie die __init__-Methode in der Klasse aus. Klassenmethode: Betreiben Sie die Eigenschaften und Methoden in der öffentlichen Vorlage, indem Sie den Klassennamen aufrufen. Statische Methode: Es ist nicht erforderlich, den Klassenraum oder die Objektmethode zu übergeben. Die Funktion besteht darin, die Konsistenz und Standardisierung des Codes sicherzustellen. Es kann sich um eine völlig unabhängige Methode außerhalb der Klasse handeln wird einheitlich in der Mitte eines bestimmten Moduls (PY-Datei) platziert.
Verwandte Empfehlungen: „Python-Video-Tutorial“
Zweitens analysieren Sie es aus der Perspektive des Umfangs:
(1 ) Funktionsumfang: Vom Beginn des Funktionsaufrufs bis zum Abschluss der Funktionsausführung wird der während des Ausführungsprozesses geöffnete Speicherplatz nach der Rückkehr zum Aufrufer automatisch freigegeben Der Wert der Variablen wird innerhalb des Funktionskörpers durch Zuweisung usw. geändert. Er wird nicht beibehalten und der geöffnete Speicherplatz wird automatisch freigegeben, nachdem er an den Aufrufer zurückgegeben wurde.
(2) Methodenumfang: Wenn eine Methode über ein instanziiertes Objekt aufgerufen wird, wird der nach dem Aufruf geöffnete Speicherplatz nicht freigegeben, was bedeutet, dass der geänderte Wert der Variablen in der aufrufenden Methode immer beibehalten wird .
Schließlich ist die Aufrufmethode anders.
(1) Funktion: Wird über „Funktionsname ()“ aufgerufen.
(2) Methode: Wird über „object.method name“ aufgerufen.
class Foo(object): def func(self): pass #实例化 obj = Foo() # 执行方式一:调用的func是方法 obj.func() #func 方法 # 执行方式二:调用的func是函数 Foo.func(123) # 函数
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Methoden und Funktionen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!