Latest web development tutorials

Python-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:

  • Funktionsblock def 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. Es kann verwendet werden, um die Parameter, die 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

def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

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

Beispiele

Im Folgenden ist eine einfache Python-Funktion, eine Zeichenfolge als Parameter übergeben, dann auf die Standard-Anzeigegerät drucken.

def printme( str ):
   "打印传入的字符串到标准显示设备上"
   print str
   return

Funktionsaufruf

Definieren Sie eine Funktion nur in einem Funktionsnamen, geben Sie die Parameter und Codeblockstruktur enthält die Funktion.

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

Die folgenden Beispiele werden printme () Funktion aufgerufen:

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

Beispiele für die obigen Ausgangs:

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

Parameter, die von Wert und Passparameter als Referenz

Alle Parameter (Argumente) in Python 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/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
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:

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

Pflichtparameter

Obligatorischer Parameter an die Funktion in der richtigen Reihenfolge ü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/python
# -*- coding: UTF-8 -*-
 
#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;
 
#调用printme函数
printme();

Beispiele für die obigen Ausgangs:

Traceback (most recent call last):
  File "test.py", line 11, in <module>
    printme();
TypeError: printme() takes exactly 1 argument (0 given)

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/python
# -*- coding: UTF-8 -*-
 
#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;
 
#调用printme函数
printme( str = "My string");

Beispiele für die obigen Ausgangs:

My string

Das folgende Beispiel kann Schlüsselwort-Argument bestellen ist nicht wichtig, zeigen deutlicher:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
#可写函数说明
def printinfo( name, age ):
   "打印任何传入的字符串"
   print "Name: ", name;
   print "Age ", age;
   return;
 
#调用printinfo函数
printinfo( age=50, name="miki" );

Beispiele für die obigen Ausgangs:

Name:  miki
Age  50

Die Standardparameter

Wenn die Funktion aufgerufen wird, wird der Standardwert, wenn der Parameter nicht übergeben, wird der Standardwert berücksichtigt. Standardmäßig drucken regelmäßige Treffen von Alter, wenn das Alter nicht übergeben wird:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
#可写函数说明
def printinfo( name, age = 35 ):
   "打印任何传入的字符串"
   print "Name: ", name;
   print "Age ", age;
   return;
 
#调用printinfo函数
printinfo( age=50, name="miki" );
printinfo( name="miki" );

Beispiele für die obigen Ausgangs:

Name:  miki
Age  50
Name:  miki
Age  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. Pass-Parameter können kaum eine andere Wahl sein. Die folgenden Beispiele:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
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.

  • 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/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
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

Statement return [Ausdruck] zu beenden Funktion selektiv zu der Anrufer einen Ausdruck zurückgibt. return-Anweisung ohne Parameter liefert Keine. Keine vorherigen Beispiele zeigen, wie ein Wert zurückgegeben, das folgende Beispiel zeigt Ihnen, wie es geht:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
def sum( arg1, arg2 ):
   # 返回2个参数的和."
   total = arg1 + arg2
   print "函数内 : ", total
   return total;
 
# 调用sum函数
total = sum( 10, 20 );

Beispiele für die obigen Ausgangs:

函数内 :  30

Variable Scope

Alle Variablen in einem Programm, die nicht eine Position ist, auf die zugegriffen werden kann. Zugriff hängt von dem 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/python
# -*- coding: UTF-8 -*-

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