Python3函数传参数备忘

2024-01-03 10:38:45
  • 不定长参数
    你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 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)

文章来源:https://blog.csdn.net/rocklee/article/details/135354607
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。