Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Funktionen

Python-Funktionen

高洛峰
高洛峰Original
2016-11-23 10:38:171124Durchsuche

Eine Funktion ist ein organisiertes, wiederverwendbares Codesegment, das zur Implementierung einer einzelnen oder verwandten Funktion verwendet wird.

Funktionen können die Anwendungsmodularität und die Wiederverwendung von Code verbessern. Sie wissen bereits, dass Python viele integrierte Funktionen bietet, beispielsweise print(). Sie können aber auch eigene Funktionen erstellen, die als benutzerdefinierte Funktionen bezeichnet werden.

Funktion definieren

Sie können eine Funktion mit den gewünschten Funktionen definieren. Im Folgenden sind einfache Regeln aufgeführt:

Der Funktionscodeblock beginnt mit dem Schlüsselwort def, gefolgt von Funktionsbezeichnername und Klammern ().

Alle eingehenden Parameter und Argumente müssen in Klammern gesetzt werden. Parameter können in Klammern definiert werden.

Die erste Zeile einer Funktion kann optional einen Dokumentstring verwenden, der zum Speichern von Funktionsbeschreibungen verwendet wird.

Funktionsinhalte beginnen mit einem Doppelpunkt und werden eingerückt.

Return[expression] beendet die Funktion und gibt optional einen Wert an den Aufrufer zurück. Die Rückgabe ohne Ausdruck entspricht der Rückgabe von None.

Syntax

def functionname(parameters):

"Function_docstring"

function_suite

return [expression]

Standardmäßig werden Parameterwerte und Parameternamen in der in der Funktionsdeklaration definierten Reihenfolge abgeglichen.

Beispiel

Das Folgende ist eine einfache Python-Funktion, die eine Zeichenfolge als Eingabeparameter verwendet und sie auf einem Standardanzeigegerät ausgibt.

def printme(string):

"Drucken Sie den eingehenden String auf einem Standardanzeigegerät aus"

print string

Funktionsaufruf

Durch das Definieren einer Funktion wird der Funktion nur ein Name gegeben, die in der Funktion enthaltenen Parameter und die Codeblockstruktur angegeben.

Nachdem die Grundstruktur dieser Funktion fertiggestellt ist, können Sie sie über einen anderen Funktionsaufruf oder direkt über die Python-Eingabeaufforderung ausführen.

Die Funktion printme() wird im folgenden Beispiel aufgerufen:

#!/usr/bin/python

# Funktionsdefinition ist hier

def printme(string):

"Jeden eingehenden String drucken"

print string

# Jetzt können Sie die Funktion printme aufrufen

printme("Ich möchte eine benutzerdefinierte Funktion aufrufen!");

printme("Dieselbe Funktion noch einmal aufrufen") ;

Das obige Beispiel-Ausgabeergebnis:

Ich möchte einen Benutzer anrufen- definierte Funktion!

Gleiche Funktion erneut aufrufen

Parameter als Wert übergeben und Parameter als Referenz übergeben

Alle Parameter ( unabhängige Variablen) sind in Python Es wird als Referenz übergeben. Wenn Sie die Parameter in der Funktion ändern, werden die ursprünglichen Parameter auch in der Funktion geändert, die diese Funktion aufruft. Zum Beispiel:

#!/usr/bin/python

# Beschreibbare Funktionsbeschreibung

def changeme( mylist ):

„Ändern Sie die eingehende Liste“

mylist.append([1,2,3,4])

print „innerhalb der Funktion Wert: ", mylist

# Changeme-Funktion aufrufen

mylist = [10,20,30];

changeme(mylist);

print „Wert außerhalb der Funktion:“, mylist

Das an die Funktion übergebene Objekt und das Objekt zum Hinzufügen neuer Inhalte am Ende sind dasselbe Zitat. Daher lautet das Ausgabeergebnis wie folgt:

Wert innerhalb der Funktion: [10, 20, 30, [1, 2, 3, 4]]

Werte außerhalb der Funktion: [10, 20, 30, [1, 2, 3, 4]]

Parameter

Die folgenden formalen Parametertypen können beim Aufrufen von Funktionen verwendet werden:

Erforderliche Parameter

Benannte Parameter

Standardparameter

Variablenlänge Parameter

Erforderliche Parameter

Erforderliche Parameter müssen in der richtigen Reihenfolge an die Funktion übergeben werden. Die abgerufene Menge muss mit der deklarierten Menge übereinstimmen.

Beim Aufruf der printme()-Funktion müssen Sie einen Parameter übergeben, sonst kommt es zu einem Syntaxfehler:

#!/usr /bin/ python

#Schreibbare Funktionsbeschreibung

def printme(string):

„Jeden eingehenden String drucken“

Zeichenfolge drucken

#Rufen Sie die printme-Funktion auf

printme()

Das obige Beispiel wird ausgegeben das Ergebnis:

Traceback (letzter Aufruf zuletzt):

Datei „test.py“, Zeile 11, in

printme()

TypeError: printme() benötigt genau 1 Argument (0 gegeben)

Benannter Parameter

Benannte Parameter stehen in engem Zusammenhang mit Funktionsaufrufen. Der Aufrufer verwendet die Benennung von Parametern, um den Wert der übergebenen Parameter zu bestimmen. Sie können nicht übergebene Parameter überspringen oder Parameter in der falschen Reihenfolge übergeben, da der Python-Interpreter Parameternamen mit Parameterwerten abgleichen kann. Rufen Sie die Funktion printme() mit benannten Parametern auf:

#!/usr/bin/python

#Writable Funktionsbeschreibung

def printme(string):

„Jeden eingehenden String drucken“

print string

# Rufen Sie das printme auf Funktion

printme(str = "My string")

Das obige Beispiel-Ausgabeergebnis:

Mein String

Das folgende Beispiel zeigt deutlicher, dass die Reihenfolge der benannten Parameter nicht wichtig ist:

#!/usr/bin/python

#Schreibbare Funktionsbeschreibung

def printinfo(name, age):

„Jede eingehende Zeichenfolge drucken“

„Name:“ drucken, Name

„Alter“ drucken, Alter

# Rufen Sie die printinfo-Funktion auf

printinfo( age=50, name="miki" )

Ausgabeergebnis des obigen Beispiels:

Name: miki

Alter 50

Standardparameter

Wenn beim Aufrufen einer Funktion der Wert des Standardparameters nicht übergeben wird, wird er als Standardwert betrachtet. Das folgende Beispiel gibt das Standardalter aus, wenn das Alter nicht übergeben wird:

#!/usr/bin/python

#Schreibbare Funktionsbeschreibung

def printinfo(name, age = 35):

„Jede eingehende Zeichenfolge drucken“

print „Name:“, Name

print „Alter“, Alter

#Printinfo-Funktion aufrufen

printinfo(age=50, name="miki")

printinfo( name="miki" )

Das Ausgabeergebnis des obigen Beispiels:

Name: Miki

Alter 50

Name: Miki

Alter 35

Unbestimmte Länge Parameter

Möglicherweise benötigen Sie eine Funktion, die mehr Parameter verarbeiten kann als ursprünglich deklariert. Diese Parameter werden als Parameter variabler Länge bezeichnet und werden bei der Deklaration nicht benannt. Die grundlegende Syntax lautet wie folgt:

def functionname([formal_args,] *var_args_tuple):

"Function_docstring"

function_suite

return [expression]

Variablennamen mit einem Sternchen (*) speichern alle unbenannten Variablenparameter. Sie können sich auch dafür entscheiden, keine weiteren Parameter zu übergeben. Das folgende Beispiel:

#!/usr/bin/python

# Beschreibbare Funktionsbeschreibung

def printinfo(arg1, *vartuple):

„Alle übergebenen Argumente drucken“

print „Ausgabe: „

print arg1

für var in vartuple:

print var

# Printinfo-Funktion aufrufen

printinfo( 10 )

printinfo( 70, 60 , 50 )

Ausgabeergebnis des obigen Beispiels:

Ausgabe:

10

Ausgabe:

70

60

50

Anonyme Funktion

Verwenden Sie das Schlüsselwort Lambda, um eine kleine anonyme Funktion zu erstellen. Dieser Funktionstyp verdankt seinen Namen der Tatsache, dass der Standardschritt der Deklaration einer Funktion mit def weggelassen wird.

Lambda-Funktion kann eine beliebige Anzahl von Parametern empfangen, aber nur den Wert eines Ausdrucks zurückgeben und keine Befehle oder mehrere Ausdrücke enthalten.

Anonyme Funktionen können print nicht direkt aufrufen, da Lambda einen Ausdruck erfordert.

Die Lambda-Funktion verfügt über einen eigenen Namensraum und kann nicht auf Parameter außerhalb ihrer eigenen Parameterliste oder im globalen Namensraum zugreifen.

Obwohl die Lambda-Funktion scheinbar nur eine Zeile schreiben kann, entspricht sie nicht der Inline-Funktion von C oder C. Der Zweck der letzteren besteht darin, kleine Funktionen aufzurufen, ohne Stapelspeicher zu belegen und somit zu vergrößern Betriebseffizienz.

Grammatik

Die Syntax der Lambda-Funktion enthält nur eine Anweisung wie folgt:

lambda [arg1 [,arg2 ,. ....argn]]:expression

Das folgende Beispiel:

#! /usr/bin/python

#Schreibbare Funktionsbeschreibung

sum = lambda arg1, arg2: arg1 arg2

#Summenfunktion aufrufen

Drucken Sie „Wert der Gesamtsumme:“, Summe( 10, 20)

Drucken Sie „Wert der Gesamtsumme:“, Summe( 20, 20)

Das obige Beispiel-Ausgabeergebnis:

Wert der Gesamtsumme: 30

Wert insgesamt: 40

return-Anweisung

return-Anweisung [Ausdruck] beendet die Funktion und gibt optional einen Ausdruck an den Aufrufer zurück. Eine Return-Anweisung ohne Parameterwerte gibt None zurück. Die vorherigen Beispiele haben nicht gezeigt, wie ein Wert zurückgegeben wird. Das folgende Beispiel zeigt Ihnen, wie es geht:

#!/usr/bin/python

# Beschreibung der beschreibbaren Funktion

def sum(arg1, arg2):

#Gibt die Summe von 2 Parametern zurück."

total = arg1 arg2

print „Innerhalb der Funktion:“, total

return total

# Call sum function

total = sum( 10 , 20 );

print „Outside the function :“, total

Das Ausgabeergebnis des obigen Beispiels:

Innerhalb der Funktion: 30

Außerhalb der Funktion: 30

Variablenbereich

Nicht auf alle Variablen in einem Programm kann überall zugegriffen werden.

Der Gültigkeitsbereich der Variablen bestimmt, auf welchen Teil des Programms Sie zugreifen können . Welcher spezifische Variablenname ist wie folgt:

Globale Variable

Lokale Variable

Variable und lokale Variable

Variablen, die innerhalb einer Funktion definiert sind, haben einen lokalen Gültigkeitsbereich, und Variablen, die außerhalb der Funktion definiert sind, haben einen globalen Gültigkeitsbereich

Auf lokale Variablen kann nur innerhalb der Funktion zugegriffen werden, in der sie deklariert sind, während dies auf globale Variablen möglich ist Auf sie kann innerhalb der Funktion zugegriffen werden, in der sie im gesamten Programm aufgerufen werden. Beim Aufruf einer Funktion werden alle innerhalb der Funktion deklarierten Variablennamen zum Gültigkeitsbereich hinzugefügt:

#! /usr/bin/python

total = 0; # Dies ist eine globale Variable.

# Beschreibbare Funktionsbeschreibung

def sum( arg1, arg2 ):

#Gibt die Summe der 2 Parameter zurück.“

total = arg1 arg2; # total ist hier eine lokale Variable.

drucken „Innerhalb der Funktion local total :“, total

return total;

#Call sum function

sum(10, 20);

print " Außerhalb der Funktion global total : ", total

Das Ausgabeergebnis des obigen Beispiels:

Innerhalb der Funktion lokale Gesamtsumme: 30

Außerhalb der Funktion globale Gesamtsumme: 0

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
Vorheriger Artikel:Python-ModuleNächster Artikel:Python-Module