Eine Funktion ist ein organisiertes, wiederverwendbares Codesegment, das zur Implementierung einer einzelnen oder verwandten Funktion verwendet wird. Funktionen können die Modularität der Anwendung und die Wiederverwendung von Code verbessern. Von Ihnen selbst erstellte Funktionen werden als benutzerdefinierte Funktionen bezeichnet. Spezifikationen der Funktionsdefinition: 1. Der Funktionscodeblock beginnt mit dem Schlüsselwort def, gefolgt vom Funktionsbezeichnernamen und Klammern ().
2. Alle eingehenden Parameter und unabhängigen Variablen müssen in Klammern gesetzt werden, und die Leerzeichen zwischen Klammern können zum Definieren von Parametern verwendet werden.
3. Die erste Zeile der Funktionsanweisung kann optional eine Dokumentationszeichenfolge enthalten, die zum Speichern von Funktionsbeschreibungen verwendet wird.
4. Der Funktionsinhalt beginnt mit einem Doppelpunkt und ist eingerückt.
5.return [Ausdruck] beendet die Funktion und gibt optional einen Wert an den Aufrufer zurück. Die Rückgabe ohne Ausdruck entspricht der Rückgabe von None.
Funktionsdefinitionssyntax: def Funktionsname (formeller Parameter): Funktionskörper Standardmäßig werden Parameterwerte und Parameternamen in der in der Funktionsdeklaration definierten Reihenfolge abgeglichen. Beispiel: #Sie können keine formalen Parameter definieren. def
show():... print('show fun')...>>> Funktion: >>> def
area(height,width):... a = height*width... return a...>>> Eine Funktion verwendet direkt den Funktionsnamen (). Wenn der Funktionsname direkt verwendet wird, wird die physische Inhaltsadresse der Funktion zurückgegeben, die die formalen Parameter und tatsächlichen Parameter der ausgeführten Funktion darstellt ;def
area(height,width):... a = height*width... return a...>>> In diesem Beispiel sind Höhe und Breite formal Parameter, die zur Definition der Struktur und Logik der Funktion verwendet werden. Die folgenden 4 und 5 sind tatsächliche Parameter, die vom Benutzer beim Aufruf der Funktion tatsächlich übergeben werden Um konsistent zu sein, entsprechen die spezifischen Werte der formalen Parameter beim Aufruf eins zu eins der Reihenfolge, in der die tatsächlichen Parameter übergeben werden. Beispielsweise entspricht 4 der Höhe und 5 der Breite Parameter (angegebene Parameter) ermöglichen das Ändern der Parameter beim Aufruf der Funktion. Die spezifische Verwendung ist wie folgt. :... a = height*width... return a...>>>
area(width = 5,height = 4)# Wir müssen nur die Werte des spezifischen Formals angeben Parameter beim Aufruf der Funktion. Wenn beim Aufruf einer Funktion keine Parameter übergeben werden, werden die Standardparameter verwendet. Standardparameter müssen am Ende aller formalen Parameter definiert werden>>>
def stu(name,age,grade=3):... Print('name ist %s,alter ist %s,note ist %s' %
(name,age,grade))...>>>
stu('ian',10) #Hier wird kein Notenparameter übergeben, standardmäßig wird die Note verwendet =
3Name ist
ian, Alter ist 10, Klasse ist 3>>>
stu('isha',9,4)Name ist
isha, Alter ist 9, Klasse ist 4 dynamisch Parameter #Dynamischer Parameter 01, fügt alle eingehenden tatsächlichen Parameter zu einem Grundelement hinzu def main2(*arg): print(arg,type(arg))main2(1,2,3,4) #Dynamischer Parameter 02, wird alle eingegebenen Werte übergeben Tatsächliche Parameter werden zu einem Wörterbuch hinzugefügt def main3(**kwargs): print(kwargs,type(kwargs))main3(k1=12,k2='ian') #Dynamischer Parameter 03, die beiden oben genannten Elemente werden kombiniert def
main4(*args,**kwargs): print(args,type(args)) print(kwargs,type(kwargs))main4(1,2,k1=12,k2='ian') #Die obige Form The Die Reihenfolge der Parameter und tatsächlichen Parameter kann hier nicht umgekehrt werden, da sonst ein Fehler gemeldet wird #Dynamischer Parameter 4, wenn der tatsächliche Parameter eine Variable ist, wie wird er im dynamischen Parameter angegeben--->Mit *def
main4 (*args,**kwargs) : print(args,type(args)) print(kwargs,type(kwargs))m = [1,2]n =
{'k1':12,'k2': 'ian'}main4(*m ,**n) Zusammenfassung: Python-Funktionen verfügen über sehr flexible Parameterformen, die nicht nur einfache Aufrufe implementieren, sondern auch sehr komplexe Parameter übergeben können. Die Standardparameter müssen unveränderliche Objekte verwenden. Wenn es sich um veränderliche Objekte handelt, kommt es zu Logikfehlern im Betrieb! Achten Sie auf die Syntax zum Definieren variabler Parameter und Schlüsselwortparameter: *args ist ein variabler Parameter, args empfängt ein Tupel; **kwargs ist ein Schlüsselwortparameter und kwargs empfängt ein Diktat. Die Verwendung von *args und **kwargs ist die Python-Konvention. Natürlich können auch andere Parameternamen verwendet werden, aber es ist am besten, die Konvention zu verwenden. Anonyme Funktion Python verwendet Lambda
, um anonyme Funktionen zu erstellen. Die sogenannte Anonymität bedeutet, dass Sie nicht mehr die Standardform der def
-Anweisung verwenden, um eine Funktion zu definieren. 1.lambda ist nur ein Ausdruck und der Funktionskörper ist viel einfacher als def.
2. Der Körper von Lambda ist ein Ausdruck, kein Codeblock. In Lambda-Ausdrücken kann nur eine begrenzte Logik gekapselt werden.
3.lambda
Die Funktion verfügt über einen eigenen Namensraum und kann nicht auf Parameter außerhalb ihrer eigenen Parameterliste oder im globalen Namensraum zugreifen.
4. Obwohl die Lambda-Funktion anscheinend nur eine Zeile schreiben kann, entspricht sie nicht der Inline-Funktion von C oder C++. Der Zweck der letzteren besteht darin, die Betriebseffizienz zu erhöhen, indem sie beim Aufruf keinen Stapelspeicher belegt kleine Funktionen.
Anonyme Funktionssyntax Die Lambda-Funktionssyntax enthält nur eine Anweisung wie folgt: lambda [arg1
[,arg2,.....argn]]:Ausdruck Beispiel:>>>
su = lambda a,b,c: a + b + c>>> 3) 6 return-Anweisung return wird verwendet, um die Funktion zu verlassen. Wenn Sie die Funktion verlassen, wird kein Ausdruck zurückgegeben. >>> .. a = height*width... return a...>>> ar =
area(4,5)>>>
print('area is', ar) Der Bereich beträgt 20. Globale Variablen und lokale Variablen. Wenn Sie Variablen innerhalb einer Funktionsdefinition deklarieren, haben sie keine Beziehung zu anderen Variablen mit demselben Namen außerhalb der Funktion, d. h. der Variablenname ist
lokal für die Funktion. Dies wird als Gültigkeitsbereich der Variablen bezeichnet. Der Gültigkeitsbereich aller Variablen ist der Block, in dem sie definiert sind, beginnend mit dem Punkt, an dem ihre Namen definiert sind. Lokale Variablen: def func(x): print ('x is',x) x=2 print ('Changed local x to',x) x=50func(x)print ('x is still',x) Das Ergebnis ist: x ist 50. Lokal geändert . Um diese Funktion auszuführen, verwenden wir die globale Anweisung. Ohne die globale Anweisung ist es unmöglich, einer außerhalb einer Funktion definierten Variablen einen Wert zuzuweisen. def func(): global x print ('x is',x) x=2 print ('Changed local x to',x) x=50func()print ('x is still',x) Das Ergebnis ist: x ist 50Geändert lokal x zu 2x ist immer noch 2 #global-Anweisung wird verwendet, um zu deklarieren, dass x global ist. Wenn wir also x innerhalb der Funktion einen Wert zuweisen, ändert sich auch der Wert von x außerhalb der Funktion direkt
Das obige ist der detaillierte Inhalt vonGrundlegender Python-Inhalt: Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!