Heim > Backend-Entwicklung > Python-Tutorial > Detaillierte Erklärung der Funktionen in Python

Detaillierte Erklärung der Funktionen in Python

巴扎黑
Freigeben: 2017-08-02 11:47:04
Original
2076 Leute haben es durchsucht

Dazu gehören einige wichtige Funktionsattribute:

1. __doc__ gibt die Dokumentationszeichenfolge der angegebenen Funktion zurück.

2. __name__返回函数名字.

3. __module__返回函数定义所在模块的名字.

4. func_defaults gibt ein Tupel mit Standardparameterwerten zurück. Standardparameter werden später besprochen.

5. func_globals gibt eine Wörterbuchreferenz zurück, die globale Funktionsvariablen enthält.

6. func_dict返回支持任意函数属性的命名空间.

7. func_closure gibt ein Zellkörper-Tupel zurück, wobei der Zellkörper die Bindung funktionsfreier Variablen enthält. Auf den Abschluss wird später eingegangen.

Funktionen können als Argumente an andere Funktionen übergeben werden. Diese Funktionen, die andere Funktionen als Argumente verwenden, werden oft als Funktionen höherer Ordnung bezeichnet und bilden einen sehr wichtigen Teil der funktionalen Programmierung. Ein gutes Beispiel für eine Funktion höherer Ordnung ist die Map-Funktion, die eine Funktion und einen Iterator als Argumente akzeptiert, die Funktion auf jedes Element im Iterator anwendet und eine neue Liste zurückgibt. Wir werden dies im folgenden Beispiel demonstrieren, in dem die zuvor definierte Quadratfunktion und ein numerischer Iterator an die Kartenfunktion übergeben werden.

Darüber hinaus können Funktionen auch innerhalb anderer Funktionscodeblöcke definiert werden und auch von anderen Funktionsaufrufen zurückgegeben werden.

Im obigen Beispiel definieren wir eine weitere innere Funktion innerhalb der äußeren Funktion, und wenn die äußere Funktion ausgeführt wird, wird die innere Funktion zurückgegeben. Darüber hinaus können Funktionen wie jedes andere Python-Objekt auch Variablen zugewiesen werden, wie folgt:

Im obigen Beispiel gibt die äußere Funktion beim Aufruf eine Funktion zurück und weist die zurückgegebene Funktion der Variablen func zu. Schließlich kann die Variable genau wie die zurückgegebene Funktion aufgerufen werden:

In der obigen Quadratfunktion wird die Funktionsdefinitionsanweisung def ausgeführt, wenn das Modul, das die Funktion enthält, in den Python-Interpreter geladen wird oder wenn die Funktion in der Python-REPL definiert ist Quadrat(x). Dies hat jedoch einige Auswirkungen auf Standardparameter mit veränderlichen Datenstrukturen als Werten, auf die wir später eingehen werden. Durch die Ausführung der Funktionsdefinition wird der Funktionsname an den aktuellen lokalen Namespace gebunden (der Namespace kann als Zuordnung von Name zu Wert betrachtet werden, und diese Zuordnung kann auch verschachtelt werden. Namespaces und Bereiche werden in einem anderen Tutorial detailliert beschrieben. Eingeführt) zu einem Funktionsobjekt, das einen Wrapper um den ausführbaren Code in einer Funktion darstellt. Dieses Funktionsobjekt enthält einen Verweis auf den aktuellen globalen Namespace, der auf den globalen Namespace verweist, der beim Aufruf der Funktion verwendet wurde. Darüber hinaus führt die Funktionsdefinition nicht den Funktionskörper aus, der nur ausgeführt wird, wenn die Funktion aufgerufen wird.

Funktionsaufrufparameter

Python-Funktionen unterstützen neben normalen Parametern auch eine variable Anzahl von Parametern. Diese Parameter fallen hauptsächlich in drei Kategorien, wie unten beschrieben:

1. Standardparameterwerte: Dies ermöglicht dem Benutzer, einige Standardwerte für die Parameter der Funktion zu definieren. In diesem Fall kann die Funktion mit weniger Argumenten aufgerufen werden. Für Argumente, die beim Aufruf der Funktion nicht angegeben werden, verwendet Python die bereitgestellten Standardwerte als diese Argumentwerte. Das folgende Beispiel veranschaulicht diese Verwendung:

Die Definition der obigen Beispielfunktion enthält einen normalen Positionsparameter arg und zwei Standardparameter def_arg und def_arg2. Diese Funktion kann auf eine der folgenden Arten aufgerufen werden:

(1) Es werden nur nicht standardmäßige Positionsparameterwerte bereitgestellt. In diesem Beispiel nehmen die Standardparameter die Standardwerte an:

(2) Überschreiben Sie einige Standardparameterwerte mit den bereitgestellten Werten, einschließlich nicht standardmäßiger Positionsparameter:

(3) Geben Sie Werte für alle Parameter an, die zum Überschreiben der Standardparameterwerte verwendet werden können:

Besondere Vorsicht ist geboten, wenn veränderbare Standarddatenstrukturen als Standardparameter verwendet werden. Da die Funktionsdefinition nur einmal ausgeführt wird, werden diese veränderlichen Datenstrukturen (Referenzwerte) nur einmal bei der Definition der Funktion erstellt. Dies bedeutet, dass für alle Funktionsaufrufe dieselbe veränderbare Datenstruktur verwendet wird, wie im folgenden Beispiel gezeigt:

Bei jedem Funktionsaufruf wird „Hello World“ zur def_arg-Liste hinzugefügt. Nach zweimaligem Aufruf der Funktion sind zwei „Hello World“-Zeichen im Standardargument enthalten. Dies ist wichtig zu beachten, wenn variadische Standardparameter als Standardwerte verwendet werden. Die Gründe dafür werden deutlich, wenn wir das Python-Datenmodell diskutieren.

2. Schlüsselwortparameter: Sie können Funktionen auch aufrufen, indem Sie Schlüsselwortparameter in der Form „kwarg=value“ verwenden. Unter diesen bezieht sich kwarg auf den Parameternamen, der in der Funktionsdefinition verwendet wird. Nehmen Sie als Beispiel die unten definierte Funktion mit Standard- und Nicht-Standardparametern:

Um den Aufruf einer Funktion mit Schlüsselwortargumenten zu demonstrieren, kann die folgende Funktion auf eine der folgenden Arten aufgerufen werden:

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Funktionen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Vorheriger Artikel:Grundlegende und häufig verwendete Algorithmen in Python Nächster Artikel:Einführung in das Python-Modul
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
Neueste Artikel des Autors
Aktuelle Ausgaben
verwandte Themen
Mehr>
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage