Python (acht) -Funktionen lernen

Python unterstützt auch benutzerdefinierte Funktionen, dh ein regulärer, wiederverwendbarer Code wird als Funktion definiert, um den Zweck zu erreichen, einmal zu schreiben und mehrmals aufzurufen. Das heißt, es ermöglicht uns, den häufig verwendeten Code in einem festen Format in ein unabhängiges Modul zu kapseln (zu verpacken), solange wir den Namen dieses Moduls kennen, können wir ihn wiederverwenden, und dieses Modul wird als Funktion bezeichnet. Tatsächlich ist das Wesentliche einer Funktion ein Code, der eine bestimmte Funktion hat und wiederverwendet werden kann. Dieser Code wurde im Voraus geschrieben. Dieser Code kann direkt mit dem guten Namen aufgerufen werden.

Beachten Sie jedoch, dass Python-Funktionen wie Funktionen in anderen Programmiersprachen das Empfangen mehrerer (≥0) Parameter unterstützen. Der Unterschied besteht darin, dass Python-Funktionen auch das Zurückgeben mehrerer (≥0) Werte unterstützen.

1. Funktionsdefinition

Das Definieren einer Funktion, dh das Erstellen einer Funktion, kann als Erstellen eines Werkzeugs mit bestimmten Verwendungszwecken verstanden werden. Die Definitionsfunktion muss mit dem Schlüsselwort def realisiert werden, und das spezifische Syntaxformat lautet wie folgt:

def Funktionsname (Parameterliste):
    // Mehrzeiliger Code zum Erreichen einer bestimmten Funktion
    [return [Rückgabewert]]

Unter diesen sind die in [] enthaltenen Teile optionale Teile, die verwendet oder weggelassen werden können. Funktionsname: Tatsächlich handelt es sich um einen Bezeichner, der der Python-Syntax entspricht. Den Lesern wird jedoch nicht empfohlen, einfache Bezeichner wie a, b und c als Funktionsnamen zu verwenden. Der Funktionsname sollte die Funktion der Funktion am besten widerspiegeln ( wie my_len, oben) Das bedeutet unsere benutzerdefinierte len () Funktion). Formale Parameterliste: Legen Sie fest, wie viele Parameter die Funktion empfangen kann. Mehrere Parameter werden durch Kommas (,) getrennt. [return [Rückgabewert]]: Als optionaler Parameter der gesamten Funktion wird der Rückgabewert der Funktion festgelegt. Mit anderen Worten, eine Funktion kann einen Rückgabewert oder keinen Rückgabewert haben, ob sie entsprechend der tatsächlichen Situation bestimmt werden muss. Die return-Anweisung in einer Funktion kann den Wert eines Ausdrucks direkt zurückgeben.

Unter normalen Umständen wird beim Definieren einer Funktion das Funktionsformular mit Parametern ausgewählt. Die Funktion von Funktionsparametern besteht darin, Daten an die Funktion zu übergeben, damit sie bestimmte Operationen an den empfangenen Daten ausführen kann. Bei der Verwendung von Funktionen werden häufig formale Parameter (als "formale Parameter" bezeichnet) und tatsächliche Parameter (als "tatsächliche Parameter" bezeichnet) verwendet. Beide werden als Parameter bezeichnet. Der Unterschied zwischen ihnen ist: Formale Parameter: Bei der Definition einer Funktion, die Funktion Die Parameter in Klammern nach dem Namen sind formale Parameter; tatsächliche Parameter: Beim Aufrufen einer Funktion werden die Parameter in Klammern nach dem Funktionsnamen als tatsächliche Parameter bezeichnet. Dies sind die Parameter, die der Funktion vom Aufrufer der Funktion gegeben wurden. Entsprechend den verschiedenen Arten von Aktualparametern können die Übertragungsmethoden von Funktionsparametern in zwei Arten unterteilt werden, nämlich Wertübertragung und Referenzübertragung (Adressübertragung): Wertübertragung: anwendbar auf unveränderliche Arten von Aktualparametern (Zeichenfolge, Zahl, Tupel); Referenz- (Adress-) Übertragung: Anwendbar auf den Variablentyp (Liste, Wörterbuch) des Aktualparameters. Der Unterschied zwischen Wertübertragung und Referenzübertragung besteht darin, dass sich der Wert des Formalparameters ändert, nachdem sich der Funktionsparameter als Wert übergeben hat Der tatsächliche Parameter wird nicht beeinflusst. Der Wert des Parameters und nachdem der Funktionsparameter weiterhin als Referenz übergeben wird, ändert sich auch der Wert des tatsächlichen Parameters, wenn der Wert des formalen Parameters geändert wird.

Positionsparameter, manchmal auch als obligatorische Parameter bezeichnet, bedeuten, dass die tatsächlichen Parameter in der richtigen Reihenfolge an die Funktion übergeben werden müssen. Mit anderen Worten, die Anzahl und Position der tatsächlichen Parameter, die beim Aufrufen der Funktion übergeben werden, müssen mit denen übereinstimmen, bei denen die Funktion wurde definiert. Um eine Funktion aufzurufen, muss die Anzahl der angegebenen tatsächlichen Parameter mit der Anzahl der formalen Parameter  übereinstimmen (mehr und weniger zu übergeben funktioniert nicht). Andernfalls löst der  Python- Interpreter eine TypeError-Ausnahme aus und fordert Sie auf, dass die erforderlichen Positionsparameter fehlen. Beim Aufrufen einer Funktion muss die Position des übergebenen tatsächlichen Parameters der Position des formalen Parameters eins zu eins entsprechen, andernfalls werden die folgenden zwei Ergebnisse erzeugt: (1) Auslösen einer TypeError-Ausnahme (2) Das erzeugte Ergebnis entspricht nicht den Erwartungen

Schlüsselwortparameter beziehen sich auf die Verwendung des Namens des formalen Parameters, um den Wert des Eingabeparameters zu bestimmen. Wenn Sie den tatsächlichen Parameter einer Funktion auf diese Weise angeben, muss er nicht mehr genau mit der Position des formalen Parameters übereinstimmen. Schreiben Sie einfach den Parameternamen richtig. Daher sollten  die Parameternamen von Python- Funktionen eine bessere Semantik haben, damit das Programm sofort die Bedeutung jedes an die Funktion übergebenen Parameters klären kann.

Python definiert Funktionen mit Standardwertparametern und das Syntaxformat lautet wie folgt:

def Funktionsname (..., formaler Parametername, formaler Parametername = Standardwert):
             Codeblock

Wenn Sie dieses Format zum Definieren einer Funktion verwenden, müssen die mit Standardwerten angegebenen formalen Parameter am Ende aller Parameter ohne Standardwerte stehen. Andernfalls tritt ein Syntaxfehler auf. In Pyhton können Sie "Funktionsname .__ Standardwerte__" verwenden, um den aktuellen Wert des Standardwertparameters der Funktion anzuzeigen, und der Rückgabewert ist ein Tupel.

In  Python  gibt es eine spezielle Konstante None (N muss groß geschrieben werden). Im Gegensatz zu False bedeutet dies weder 0 noch eine leere Zeichenfolge, sondern, dass es keinen Wert gibt, bei dem es sich um einen Nullwert handelt. Der Nullwert bedeutet hier kein leeres Objekt, dh None unterscheidet sich von [] und "": None hat einen eigenen Datentyp, wie Sie sehen können, gehört er zum NoneType-Typ. Es ist zu beachten, dass None der einzige Wert des NoneType-Datentyps ist (andere Programmiersprachen nennen diesen Wert möglicherweise null, nil oder undefined). Das heißt, wir können keine anderen NoneType-Variablen mehr erstellen, aber Sie können ihn zuweisen Keine zu irgendeiner Variablen. Wenn Sie möchten, dass etwas, das in einer Variablen gespeichert ist, nicht mit einem anderen Wert verwechselt wird, können Sie None verwenden. Darüber hinaus wird None häufig für Asserts, Urteile und Situationen verwendet, in denen die Funktion keinen Rückgabewert hat. In den vorherigen Kapiteln haben wir beispielsweise die Funktion print () verwendet, um Daten auszugeben. Tatsächlich ist der Rückgabewert dieser Funktion None. Da die Funktion darin besteht, Text auf dem Bildschirm anzuzeigen und überhaupt keinen Wert zurückgeben muss, gibt print () None zurück.

Darüber hinaus fügt Python für alle Funktionsdefinitionen, die keine return-Anweisung haben, am Ende return None hinzu und verwendet die return-Anweisung ohne Wert (dh nur das return-Schlüsselwort selbst). Anschließend wird None zurückgegeben.

Wenn Sie in Python eine Funktion mit der def-Anweisung erstellen, können Sie mit der return-Anweisung den Wert angeben, der zurückgegeben werden soll, und der Rückgabewert kann von einem beliebigen Typ sein. Es ist zu beachten, dass die return-Anweisung in derselben Funktion mehrmals vorkommen kann. Solange jedoch eine ausgeführt wird, wird die Ausführung der Funktion direkt beendet. Wenn das Programm mehrere Rückgabewerte benötigt, können Sie entweder mehrere Werte in eine Liste einbinden und zurückgeben oder mehrere Werte direkt zurückgeben. Wenn die Python-Funktion direkt mehrere Werte zurückgibt, kapselt Python die mehreren Rückgabewerte automatisch in Tupel und die Rückgabewerte werden durch Kommas getrennt.

Der Umfang der innerhalb der Funktion definierten Variablen ist auch auf das Innere der Funktion beschränkt und kann nicht außerhalb der Funktion verwendet werden. Wir nennen solche Variablen lokale Variablen (lokale Variable). Sie sollten wissen, dass Python bei der Ausführung einer Funktion einen temporären Speicherplatz zuweist und alle in der Funktion definierten Variablen in diesem Bereich gespeichert werden. Nachdem die Funktion ausgeführt wurde, wird dieser temporäre Speicherplatz sofort freigegeben und zurückgefordert, und die in diesem Speicherplatz gespeicherten Variablen werden natürlich nicht mehr verwendet. Wie Sie sehen, meldet der Python-Interpreter beim Versuch, auf die intern definierten Variablen außerhalb der Funktion zuzugreifen, einen NameError-Fehler und fordert uns auf, dass auf die Variable, auf die zugegriffen werden soll, nicht definiert ist intern definierte Variablen werden zerstört und recycelt. Erwähnenswert ist, dass die Parameter einer Funktion auch lokale Variablen sind und nur innerhalb der Funktion verwendet werden können.

Python definiert nicht nur Variablen innerhalb von Funktionen, sondern ermöglicht auch die Definition von Variablen außerhalb aller Funktionen. Solche Variablen werden als globale Variablen bezeichnet. Im Gegensatz zu lokalen Variablen ist der Standardbereich globaler Variablen das gesamte Programm, dh globale Variablen können entweder außerhalb oder innerhalb jeder Funktion verwendet werden.

In bestimmten Szenarien müssen möglicherweise alle Variablen in einem bestimmten Bereich (globaler Bereich oder lokaler Bereich) abgerufen werden. Python bietet die folgenden drei Methoden: (1) Funktion globals (): Die Funktion globals () ist die integrierte Funktion von Python. Es kann ein Wörterbuch zurückgeben, das alle Variablen im globalen Bereich enthält. Für jedes Schlüssel-Wert-Paar im Wörterbuch ist der Schlüssel der Variablenname und der Wert der Wert der Variablen. (2) Die Funktion local (): Die Funktion local () ist auch eine der in Python integrierten Funktionen. Durch Aufrufen dieser Funktion können wir ein Wörterbuch abrufen, das alle Variablen im aktuellen Bereich enthält. Der sogenannte "aktuelle Bereich" bedeutet hier, dass beim Aufrufen der Funktion "local ()" innerhalb der Funktion ein Wörterbuch mit allen lokalen Variablen abgerufen wird und der Aufruf der Funktion "local ()" in der globalen Vorlage dieselbe Funktion wie die Funktion "globals ()" hat . (3) vars (Objekt): Die Funktion vars () ist ebenfalls eine in Python integrierte Funktion und dient dazu, ein Wörterbuch zurückzugeben, das aus allen Variablen innerhalb des angegebenen Objektbereichs besteht. Wenn der Objektparameter nicht übergeben wird, haben vars () und local () genau den gleichen Effekt.

Python unterstützt das Definieren von Funktionen innerhalb von Funktionen. Solche Funktionen werden auch als lokale Funktionen bezeichnet. Lokale Funktionen können wie lokale Variablen nur im Rahmen der Funktion verwendet werden, in der sie sich standardmäßig befinden. Wenn die lokale Funktion keine lokale Funktion zurückgibt, ist der verfügbare Bereich der lokalen Funktion auf die darin enthaltene Funktion beschränkt. Wenn die lokale Funktion die lokale Funktion als Rückgabewert verwendet, ist der Umfang der lokalen Funktion umgekehrt erweitert, und es kann innerhalb der Funktion verwendet werden. Es kann auch im Umfang der Funktion verwendet werden.

2. Funktionsaufruf

Das grundlegende Syntaxformat des Funktionsaufrufs lautet wie folgt:

[Rückgabewert] = Funktionsname ([Formaler Parameterwert])

Unter diesen bezieht sich der Funktionsname auf den Namen der aufzurufenden Funktion, der Wert des formalen Parameters auf den Wert jedes formalen Parameters, der beim Erstellen der Funktion übergeben werden muss. Wenn die Funktion einen Rückgabewert hat, können wir den Wert über eine Variable erhalten oder nicht. Es ist zu beachten, wie viele formale Parameter zum Erstellen einer Funktion vorhanden sind, wie viele Werte beim Aufrufen übergeben werden müssen und die Reihenfolge mit der beim Erstellen einer Funktion übereinstimmen muss. Auch wenn die Funktion keine Parameter hat, können die Klammern nach dem Funktionsnamen nicht weggelassen werden.

 

Ich denke du magst

Origin blog.csdn.net/qq_35789421/article/details/113565023
Empfohlen
Rangfolge