函數(shù)
函數(shù)是只在調(diào)用時運(yùn)行的代碼塊。
def my_function(): print(“Hello from a function”)my_function()
信息可以作為參數(shù)傳遞到函數(shù)中。
def my_function(fname): print(fname + ” Refsnes”)my_function(“Emil”)my_function(“Tobias”)my_function(“Linus”)
如果不知道將傳遞到函數(shù)中的參數(shù)數(shù)量,請在函數(shù)定義中的參數(shù)名稱前添加一個*。
def my_function(*kids): print(“The youngest child is ” + kids[2])my_function(“Emil”, “Tobias”, “Linus”)
您還可以使用key=value語法發(fā)送參數(shù)。
def my_function(child3, child2, child1): print(“The youngest child is ” + child3)my_function(child1 = “Emil”, child2 = “Tobias”, child3 = “Linus”)
如果不知道將傳遞到函數(shù)中的關(guān)鍵字參數(shù)數(shù)量,請在函數(shù)定義中的參數(shù)名稱前添加兩個星號:*。
def my_function(**kid): print(“His last name is ” + kid[“lname”])my_function(fname = “Tobias”, lname = “Refsnes”)
Lambda
lambda函數(shù)是一個小型匿名函數(shù)。 lambda函數(shù)可以接受任意數(shù)量的參數(shù),但只能有一個表達(dá)式。
語法
lambda arguments : expressionx = lambda a : a + 10print(x(5))
Lambda函數(shù)可以接受任意數(shù)量的參數(shù)
x = lambda a, b : a * bprint(x(5, 6))
為什么要使用Lambda函數(shù)?
def myfunc(n): return lambda a : a * nmydoubler = myfunc(2)print(mydoubler(11))