Heim >Backend-Entwicklung >Python-Tutorial >Der Unterschied zwischen Python-Funktionen und -Methoden

Der Unterschied zwischen Python-Funktionen und -Methoden

(*-*)浩
(*-*)浩Original
2019-06-22 17:42:462872Durchsuche

In diesem Artikel werden hauptsächlich die Unterschiede zwischen Funktionen und Methoden in Python aus mehreren Dimensionen vorgestellt:

Der Unterschied zwischen Python-Funktionen und -MethodenAnalysieren Sie es zunächst aus der Perspektive der Klassifizierung.

(1) Klassifizierung von Funktionen: (Empfohlenes Lernen: Python-Video-Tutorial)

Eingebaute Funktionen: Einige Funktionen sind in Python eingebettet.

Anonyme Funktion: Eine Codezeile implementiert eine Funktionsfunktion.

Rekursive Funktion

Benutzerdefinierte Funktion: 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 Attribut, damit der Code vernünftiger aussieht.

Spezielle Methode (doppelte Unterstreichungsmethode): Am Beispiel von __init__ wird sie verwendet, um die Attribute des instanziierten Objekts zu kapseln. Wenn vorhanden, wird die Methode __init__ ausgeführt Es gibt keine solche Methode in der Objektunterklasse. Wenn keine übergeordnete Klasse (Superklasse) vorhanden ist, erbt sie direkt die Objektklasse (Python 3.x) und führt die Methode __init__ aus Klasse. Klassenmethode: Betreiben Sie die Eigenschaften und Methoden in der öffentlichen Vorlage, indem Sie den Klassennamen aufrufen.

Statische Methode: Es handelt sich um eine Methode, die weder im Klassenraum noch im Objekt übergeben werden muss. Ihre Funktion besteht darin, die Konsistenz und Standardisierung des Codes sicherzustellen. Sie kann jedoch eine völlig unabhängige Methode sein Aus Gründen der Codekonsistenz kann es in einem einheitlichen Modul (PY-Datei) platziert werden.

Zweitens analysieren Sie es aus der Perspektive des Umfangs:

(1) Funktionsumfang: vom Beginn des Funktionsaufrufs bis zum Abschluss der Funktionsausführung Zurück zum Aufrufer: Der während der Ausführung geöffnete Speicherplatz wird automatisch freigegeben. Das heißt, nach Abschluss der Funktionsausführung wird der durch Zuweisung und andere Methoden im Funktionskörper geänderte Wert nicht beibehalten wird automatisch freigegeben, nachdem es an den Anrufer 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) # 函数

Weitere technische Artikel zum Thema Python finden Sie in der Spalte Python-Tutorial, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Python-Funktionen und -Methoden. 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