一、不定长参数
语法一:
def 函数名(*var):
函数体
加了星号的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数
例:
# 定义函数
def demo(*var):
print(var)
#调用函数
demo(1,2,3)
输出结果如下:
(1, 2, 3)
如果在函数调用时没有指定参数,它就是一个空元组。可以不向函数传递未命名的变量。
语法二:
def 函数名(**var):
函数体
加了两个星号的参数会以字典的形式导入。
例:
# 定义函数
def demo(**var):
print(var)
#调用函数
demo(a=1,b=2,c=3)
输出结果如下:
{'a': 1, 'b': 2, 'c': 3}
二、匿名函数
python 使用 lambda 来创建匿名函数。
- lambda 只是一个表达式,函数体比 def 简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
语法:
lambda [arg1 [,arg2,…,argn]]:expression
例:
#定义匿名函数
sum = lambda a,b:print(a+b)
#调用函数
sum(2,2)
输出结果如下:
4
三、return语句
return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。
例:
#定义函数
def demo(a,b):
sum = a + b
return sum
#调用函数
total = demo(5,10)
print(total)
输出结果如下:
15