1 ist die Definition der Funktion
Format: DEF <function name> (<Parameter (0 oder mehr)>):
<function body>
Rückkehr <Return Wert>
2 die Funktion des optionalen Parameters
Wenn die Funktionsdefinition können optionale Parameter verwendet werden. Bei Verwendung des optionalen Parameter verwenden , sollten hinter den nicht-optionale Parameter gesetzt werden, und dann diese Funktion aufrufen , wenn die optionalen Parameter können sie keinen Wert geben
, wie:
def fact(n,m = 1):
s = 1
for i in range(1,n+1):
s *= i
return s//m
print(fact(10))
print(fact(10,10))
3 wird die Funktion des variablen Parameters
Bezieht sich auf die Gesamtzahl der Funktionen definierten Zeit unsichere Parameter: variable Parameter
def fact(n,*b):
s = 1
for i in range(1,n + 1):
s *= i
for item in b:
s *= item
return s
print(fact(10,3))
print(fact(10,3,4,5,6))
Dies ist zeit- und b ist eine Kombination aus einem Datentyp
4, Übertragungsparameter
Wenn Funktionsaufrufe können Gabe von Parametern mit dem Ort oder Namen der Mode entsprechend weitergegeben werden
def fact(n,m=1):
s = 1
for i in range(1,n + 1):
s *= i
return s//m
fact(10, 5) #按照位置
fact(m=5, n=10)#按照名称
5, wird der Rückgabewert der Funktion
Funktion einen Wert zurückgeben, oder auch nicht, zurückkehren kann, kann nicht
zurück 0 Rückgabewert übergeben werden kann, der Rückgabewert einer von mehreren sein kann , übergeben
direkt mehrere Rückgabewerte liefert ein Tupel
def fact(n,m=1):
s = 1
for i in range(1,n + 1):
s *= i
return s//m, n, m
fact(10,5) #这里将会返回一个包含三个元素的元组
a,b,c = fact(10,5)
6, lokale Variablen und globale Variablen
Regel 1: Funktionsvariablen sind lokale Variablen, um eine globale Variable in einer Funktion zu nutzen, verwenden globales Wort vorbehalten
n, s = 10, 100
def fact(n):
global s #使用global声明这是一个全局变量
for i in range(1,n + 1):
s *= i
return s
print(fact(n),s)
Regel 2: Erstellen Sie eine lokale Variable und nicht als eine Kombination von Datentypen, die globale Variable entspricht
ls = ['F', 'f']
def func(a):
ls.append(a)
return
func("C")
print(ls)
7, Lambda-Funktionen
Lambda - Funktion gibt den Namen der Funktion als Folge der
Lambda anonyme Funktion ist eine Funktion, das heißt, ohne die Funktionsnamen
mit reservierten Lambda Worten definiert, gibt die Funktion der Name des Ergebnisses ist
die Funktion einfach die Lambda - Funktion zu definieren , können in einer Linie ausgedrückt werden
mit dem Format: < function name> = Lambda <parameter>: <expression>
entspricht: DEF <function name> (<Parameter>):
<function name>
Rückkehr <return value>
f = lambda x,y : x + y
f(10,15)
f = lambda : "这是一个lambda函数"
print(f())
Nicht für den regelmäßigen Gebrauch empfohlen