- 不定长参数
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。基本语法如下:
def functionname([formal_args,] *var_args_tuple ):
"函数_文档字符串"
function_suite
return [expression]
加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
#!/usr/bin/python3
# 可写函数说明
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vartuple)
# 调用printinfo 函数
printinfo( 70, 60, 50 )
- 加了两个星号 ** 的参数会以字典的形式导入
#!/usr/bin/python3
# 可写函数说明
def printinfo( arg1, **vardict ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vardict)
# 调用printinfo 函数
printinfo(1, a=2,b=3)
- 参数中星号 * 可以单独出现
def test11(a, b, *, c):
print(type(c))
return a + b + c
if __name__ == "__main__":
test11(1, 2, c=3.14)
暂时不清楚这种语法有什么用
- 匿名函数
以lambda 开关 加空格加传入参数然后+":"再加函数体
def test12():
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
filtered = list(filter(lambda n: n % 2 == 0, numbers))
print(filtered)
文章评论