[教程]Python函数的参数

布满荆棘的人生 2021-09-20 09:06 470阅读 0赞

Python函数的参数

位置参数、默认值参数、可变参数、关键字参数和命名关键字参数

1 函数结构

  1. def 函数名(参数):
  2. 函数体
  3. 返回值

2 位置参数

3 默认值参数

4 可变参数

  1. # 可变长度参数函数
  2. # 可变参数允许你传入0个或任意个参数,这些参数在调用时自动组装成元祖(tuple)
  3. # 1 定义求和函数
  4. def calc1(numbers):
  5. sum = 0
  6. # for循环遍历传递的列表或者元祖
  7. for num in numbers:
  8. sum = sum+num
  9. #返回求和结果
  10. return sum
  11. # 调用calc1函数传递列表作为参数
  12. print(calc1([1,2,3,4]))
  13. # 调用calc1函数元祖作为参数
  14. print(calc1((1,2,3,4,5)))
  15. # 调用calc1函数集合作为参数
  16. print(calc1({1,2,3,4,5,6}))
  17. #2 定义求和函数
  18. def calc2(*numbers):
  19. sum = 0
  20. # 接受到的参数全部自动组装成元祖
  21. print(type(numbers))
  22. # for循环遍历传递的列表或者元祖
  23. for num in numbers:
  24. sum = sum+num
  25. #返回求和结果
  26. return sum
  27. # 调用calc2函数传递多个参数
  28. print(calc2(1,1,1,1))
  29. # 调用calc2函数传递列表作为参数,参数前加*
  30. print(calc2(*[2,2,2,2]))
  31. # 调用calc2函数元祖作为参数,参数前加*
  32. print(calc2(*(1,2,3,4,5)))
  33. # 调用calc2函数集合作为参数,参数前加*
  34. print(calc2(*{1,2,3,4,5,6}))

5 关键字参数

  1. # 关键词参数函数
  2. # 更多信息必须以参数名=值得形式传递进去
  3. def person(name, age, **kw):
  4. print('name:', name, 'age:', age, 'other:', kw)
  5. person("jack", 20)
  6. person(name = "jack", age = 20)#效果同上
  7. person("jason", 19, city="beijing")
  8. # person("kiki",18,"上海") #报错 关键词参数函数必须要以 参数名=值 的形式传递参数

6 命名关键字

  1. def person(name, age, *, city, job):
  2. print(name, age, city, job)
  3. person("li", 22, city = "beijing",job="teacher")
  4. # person("li", 22, city = "beijing") #参数少写报错

7 参数组合

  1. # a b 位置参数
  2. # c 默认值参数
  3. # *args 可变参数
  4. # **kw 关键字参数
  5. def f1(a, b, c=0, *args, **kw):
  6. print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)
  7. # a b 位置参数
  8. # c 默认值参数
  9. # d 命名关键字参数
  10. # **kw 关键字参数
  11. def f2(a, b, c=0, *, d, **kw):
  12. print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)

8 总结

可变参数

  • 定义 def 函数名(*arg)
  • 使用 函数名(值1,值2,值3)
  • 场景 需要传递参数,但是参数个数不确定
  • 其他 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。

关键词参数

  • 定义 def 函数名(**kw)
  • 使用 函数名(参数名1=值1, 参数名2=值2, 参数名3=值3)
  • 场景 可以扩展函数的功能,用户注册时,除了name和age用户还希望提交的其他信息都可以通过关键词参数提交
  • 其他 关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
  • 注意

    • 1 不写参数名报错
    • 2 参数传递必须以参数名=值得形式传递

命名关键词参数

  • 定义 def 函数名(*, 参数名1, 参数名2)
  • 使用 函数名(参数名1=值1, 参数名2=值2)
  • 场景 用户传递的其他信息受关键词约束
  • 注意

    • 1 不写参数名报错
    • 2 少写算错
    • 3 参数传递必须以参数名=值得形式传递

转载于:https://www.cnblogs.com/viviwong345/p/7084142.html

发表评论

表情:
评论列表 (有 0 条评论,470人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python 函数参数

    使用位置参数 有时候,方法接收的参数数目可能不一定,比如定义一个求和的方法,至少要接收两个参数: def sum(a, b): return a

    相关 python函数参数

    Python的函数定义中除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数 1、必选参数:须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用函数是必