函数
函数是只在调用时运行的代码块。
代码语言:javascript复制def my_function():
print("Hello from a function")
my_function()
信息可以作为参数传递到函数中。
代码语言:javascript复制def my_function(fname):
print(fname " Refsnes")
my_function("Emil")
my_function("Tobias")
my_function("Linus")
如果不知道将传递到函数中的参数数量,请在函数定义中的参数名称前添加一个*。
代码语言:javascript复制def my_function(*kids):
print("The youngest child is " kids[2])
my_function("Emil", "Tobias", "Linus")
您还可以使用key=value语法发送参数。
代码语言:javascript复制def my_function(child3, child2, child1):
print("The youngest child is " child3)
my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")
如果不知道将传递到函数中的关键字参数数量,请在函数定义中的参数名称前添加两个星号:*。
代码语言:javascript复制def my_function(**kid):
print("His last name is " kid["lname"])
my_function(fname = "Tobias", lname = "Refsnes")
Lambda
lambda函数是一个小型匿名函数。lambda函数可以接受任意数量的参数,但只能有一个表达式。
语法
代码语言:javascript复制lambda arguments : expression
代码语言:javascript复制x = lambda a : a 10
print(x(5))
Lambda函数可以接受任意数量的参数
代码语言:javascript复制x = lambda a, b : a * b
print(x(5, 6))
为什么要使用Lambda函数?
代码语言:javascript复制def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))