Der Unterschied zwischen Methoden und Funktionen in Python

爱喝马黛茶的安东尼
Freigeben: 2019-06-24 11:32:34
Original
2611 Leute haben es durchsucht

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) # 函数
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage