函数

函数是只在调用时运行的代码块。

def my_function():  print("Hello from a function")my_function()

信息能够作为参数传递到函数中。

def my_function(fname):  print(fname + " Refsnes")my_function("Emil")my_function("Tobias")my_function("Linus")

如果不晓得将传递到函数中的参数数量,请在函数定义中的参数名称前增加一个*。

def my_function(*kids):  print("The youngest child is " + kids[2])my_function("Emil", "Tobias", "Linus")

您还能够应用key=value语法发送参数。

def my_function(child3, child2, child1):  print("The youngest child is " + child3)my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")

如果不晓得将传递到函数中的关键字参数数量,请在函数定义中的参数名称前增加两个星号:*。

def my_function(**kid):  print("His last name is " + kid["lname"])my_function(fname = "Tobias", lname = "Refsnes")

Lambda

lambda函数是一个小型匿名函数。
lambda函数能够承受任意数量的参数,但只能有一个表达式。

语法

lambda arguments : expression
x = lambda a : a + 10print(x(5))

Lambda函数能够承受任意数量的参数

x = lambda a, b : a * bprint(x(5, 6))

为什么要应用Lambda函数?

def myfunc(n):  return lambda a : a * nmydoubler = myfunc(2)print(mydoubler(11))