Latest web development tutorials

python3 Funktion

Die Funktion ist eine gute Organisation, wiederverwendbar, verwendet einen einzigen Code-Segment, oder damit verbundenen Funktionen zu erreichen.

Die Funktion kann angewendet werden, um die Modularität zu verbessern und Wiederverwendung von Code. Sie wissen bereits, dass Python viele integrierte Funktionen, wie zum Beispiel print () zur Verfügung stellt. Sie können aber auch Ihre eigene Funktion erstellen, die eine benutzerdefinierte Funktion aufgerufen wird.


Definieren Sie eine Funktion

Sie können eine Funktion aus der Funktion, die Sie möchten, die folgenden einfachen Regeln zu definieren:

  • Funktionsblockdef Schlüsselwort am Anfang, gefolgt von dem Funktionsnamen und Kennungen in Klammern ().
  • Alle eingehenden Parameter und Argumente müssen in Klammern in der Mitte platziert werden, kann es verwendet werden, um die Parameter in Klammern zu definieren.
  • Die erste Zeile der Funktion Anweisung kann optional ein String-Dokument zu verwenden - für Funktionsbeschreibung verwendet.
  • Funktion Inhalt mit einem Doppelpunkt und Vertiefung beginnen.
  • return [Ausdruck] Ende der Funktion, optional einen Wert für den Anrufer zurück. Rückkehr ohne eine entsprechende Angabe Keine zurückzukehren.

Grammatik

Python-Funktionen def Schlüsselwort, das allgemeine Format ist wie folgt:

def 函数名(参数列表):
    函数体

Standardmäßig ist der Parametername und Parameterwert in der Reihenfolge, in der Funktionsdeklaration definiert einstimmt.

Beispiele

Lassen Sie uns die Funktion zur Ausgabe verwenden "Hallo Welt!":

>>> def hello() :
   print("Hello World!")

   
>>> hello()
Hello World!
>>> 

Die Anwendung komplexer Punkt, um die Funktionsparameter Variablen zu bringen:

#!/usr/bin/python3

# 计算面积函数
def area(width, height):
    return width * height
 
def print_welcome(name):
    print("Welcome", name)

print_welcome("w3big")
w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))

Beispiele für die obigen Ausgangs:

Welcome w3big
width = 4  height = 5  area = 20

Funktionsaufruf

Definieren Sie eine Funktion: Die Funktion einen Namen zu geben, geben Sie die Parameter der Funktion enthält, und Code-Block-Struktur.

Nach Abschluss der Grundstruktur dieser Funktion können Sie eine weitere Funktionsaufruf durchführen direkt von der Python-Eingabeaufforderung ausgeführt werden.

Die folgenden Beispiele werden printme () Funktion aufgerufen:

#!/usr/bin/python3
 
# 定义函数
def printme( str ):
   "打印任何传入的字符串"
   print (str);
   return;
 
# 调用函数
printme("我要调用用户自定义函数!");
printme("再次调用同一函数");

Beispiele für die obigen Ausgangs:

我要调用用户自定义函数!
再次调用同一函数

Parameter, die von Wert und Passparameter als Referenz

In Python, werden alle Parameter (Variablen) werden als Referenz übergeben. Wenn Sie einen Parameter in einer Funktion zu ändern, dann wird diese Funktion aufgerufen Funktion werden die ursprünglichen Parameter ebenfalls geändert. Zum Beispiel:

#!/usr/bin/python3
 
# 可写函数说明
def changeme( mylist ):
   "修改传入的列表"
   mylist.append([1,2,3,4]);
   print ("函数内取值: ", mylist)
   return
 
# 调用changeme函数
mylist = [10,20,30];
changeme( mylist );
print ("函数外取值: ", mylist)

Und am Ende in die Funktion des Objekts übergeben neue Inhalte hinzufügen, um die gleiche Referenz. So sind die Ausgabeergebnisse wie folgt:

函数内取值:  [10, 20, 30, [1, 2, 3, 4]]
函数外取值:  [10, 20, 30, [1, 2, 3, 4]]

Parameter

Im Folgenden ist der formale Parameter-Typ verwendet werden kann, wenn die Funktion aufrufen:

  • Erforderliche Parameter
  • Stichwort Argumente
  • Die Standardparameter
  • Variabler Länge Parameter

Erforderliche Parameter

Erforderliche Parameter in der richtigen Reihenfolge an die Funktion übergeben werden. Wenn die Anzahl der Anrufe und muss die gleiche Erklärung sein.

Rufen Sie printme () Funktion, müssen Sie in einem Parameter übergeben, oder Syntaxfehler auftreten:

#!/usr/bin/python3
 
#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print (str);
   return;
 
#调用printme函数
printme();

Beispiele für die obigen Ausgangs:

Traceback (most recent call last):
  File "test.py", line 10, in <module>
    printme();
TypeError: printme() missing 1 required positional argument: 'str'

Stichwort Argumente

Stichwort Argumente und Funktion ruft eine enge Beziehung Funktionsaufruf mit Keyword-Argumente den Wert des Parameters übergeben, um zu bestimmen.

Wenn das Schlüsselwort-Parameter verwenden, können ist der Funktionsaufruf, um Parameter mit der Aussage widersprüchlich, weil Python-Interpreter der Lage, die Parameterwerte entsprechend dem eingestellten Namen.

Das folgende Beispiel Funktion printme () wird mit dem Parameternamen genannt:

#!/usr/bin/python3
 
#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print (str);
   return;
 
#调用printme函数
printme( str = "本教程");

Beispiele für die obigen Ausgangs:

本教程

Das folgende Beispiel zeigt die Verwendung von Funktionsparameter müssen nicht den angegebenen Reihenfolge zu verwenden:

#!/usr/bin/python3
 
#可写函数说明
def printinfo( name, age ):
   "打印任何传入的字符串"
   print ("名字: ", name);
   print ("年龄: ", age);
   return;
 
#调用printinfo函数
printinfo( age=50, name="w3big" );

Beispiele für die obigen Ausgangs:

名字:  w3big
年龄:  50

Die Standardparameter

Wenn die Funktion aufgerufen wird, wenn der Parameter nicht übergeben wird, werden die Standardparameter verwendet werden. Das folgende Beispiel, wenn kein eingehendes Alter Parameter, der Standardwert:

#!/usr/bin/python3
 
#可写函数说明
def printinfo( name, age = 35 ):
   "打印任何传入的字符串"
   print ("名字: ", name);
   print ("年龄: ", age);
   return;
 
#调用printinfo函数
printinfo( age=50, name="w3big" );
print ("------------------------")
printinfo( name="w3big" );

Beispiele für die obigen Ausgangs:

名字:  w3big
年龄:  50
------------------------
名字:  w3big
年龄:  35

Variabler Länge Parameter

Sie können eine Funktion benötigen, die mehr als die ursprüngliche Deklaration von Parametern umgehen kann. Diese Parameter sind die variable Längenparameter genannt, und die zwei Typen von Parametern verschieden sind, keine Erklärung zu nennen. Die grundlegende Syntax lautet wie folgt:

def functionname([formal_args,] *var_args_tuple ):
   "函数_文档字符串"
   function_suite
   return [expression]

Mit einem Stern (*) wird in Variablennamen alle ungenannten variablen Parameter gespeichert werden. Wenn kein Argument, wenn die Funktion aufgerufen wird, ist es ein leeres Tupel. Wir können nicht unbenannte Variable an eine Funktion übergeben. Die folgenden Beispiele:

#!/usr/bin/python3
 
# 可写函数说明
def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print ("输出: ")
   print (arg1)
   for var in vartuple:
      print (var)
   return;
 
# 调用printinfo 函数
printinfo( 10 );
printinfo( 70, 60, 50 );

Beispiele für die obigen Ausgangs:

输出:
10
输出:
70
60
50

anonyme Funktion

Python Lambda mit Hilfe eines anonymen Funktion zu erstellen.

Die so genannte anonyme, was nicht mehr bedeutet, diese Standard-Form def-Anweisung verwenden, um eine Funktion zu definieren.

  • Nur ein Lambda-Ausdruck ist die Funktion Körper viel einfacher als def.
  • Der Körper ist ein Lambda-Ausdruck, eher als ein Block von Code. Wir können nur eine begrenzte Logik in den Lambda-Ausdruck verpacken.
  • Lambda-Funktion verfügt über einen eigenen Namensraum, und kann nicht außerhalb des eigenen Argumentliste oder den globalen Namespace-Parameter zugegriffen werden.
  • Obwohl sieht Lambda-Funktion nur eine einzige Zeile zu schreiben, aber nicht das gleiche wie Inline-Funktionen in C oder C ++ wird dieser Zweck nicht besetzt, wenn der kleine Stapelspeicher-Funktion aufrufen Betriebseffizienz zu erhöhen.

Grammatik

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

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

Die folgenden Beispiele:

#!/usr/bin/python3
 
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;
 
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))

Beispiele für die obigen Ausgangs:

相加后的值为 :  30
相加后的值为 :  40

return-Anweisung

return [Ausdruck] Anweisung wird verwendet , um die Funktion zu beenden, selektiv zu der Anrufer einen Ausdruck zurückgibt.return-Anweisung ohne Parameter liefert Keine. Keine vorherigen Beispiele zeigen, wie ein Wert zurückgegeben, wird das folgende Beispiel demonstriert die Verwendung der return-Anweisung:

#!/usr/bin/python3

# 可写函数说明
def sum( arg1, arg2 ):
   # 返回2个参数的和."
   total = arg1 + arg2
   print ("函数内 : ", total)
   return total;

# 调用sum函数
total = sum( 10, 20 );
print ("函数外 : ", total)

Beispiele für die obigen Ausgangs:

函数内 :  30
函数外 :  30

Variable Scope

Python ist es ist die Variable nicht die Position, in der das Programm zugreifen kann, Zugang davon abhängig, wo die Variable zugeordnet ist.

Scope einer Variablen bestimmt, welcher Teil des Programms, in dem Sie einen bestimmten Variablennamen zugreifen können. Zwei grundlegende Variablenbereich wie folgt:

  • globale Variablen
  • Lokale Variablen

Globale und lokale Variablen

Die Definition der Funktion der internen Variablen haben einen lokalen Bereich, wie es in der äußeren Funktion definiert globale Reichweite hat.

Lokale Variablen können nur auf globale Variablen in einer Funktion der Zugang erklärt werden kann in den Verfahren zugegriffen werden. Wenn Sie eine Funktion aufrufen, werden alle Variablennamen in Funktionsdeklarationen werden dem Umfang hinzugefügt werden. Die folgenden Beispiele:

#!/usr/bin/python3

total = 0; # 这是一个全局变量
# 可写函数说明
def sum( arg1, arg2 ):
    #返回2个参数的和."
    total = arg1 + arg2; # total在这里是局部变量.
    print ("函数内是局部变量 : ", total)
    return total;

#调用sum函数
sum( 10, 20 );
print ("函数外是全局变量 : ", total)

Beispiele für die obigen Ausgangs:

函数内是局部变量 :  30
函数外是全局变量 :  0