page contents

遇到混合参数就看这 | 函数混合参数使用指南

学了很多种类的函数参数,单独使用没问题,但是把它混合到一起来传参,问题就大了。遇到这种问题怎么办呢?本文将为你揭晓!

参数定义顺序:必选参数(即位置参数)、默认参数、可变参数,命名关键字参数和关键字参数。

关键字参数**kwargs为可以传入多个关键字参数,命名关键字参数为传入指定关键字参数,所以它们两个不会同时出现。

 例1:
 # 位置参数、默认参数、可变参数组合
 def fund(a, b=10, *c):  
     print(a,b,c)
 fund(1, 2, 3, 4)
 
 #不清楚值是怎么传入的,用格式化输出
 def fund(a, b=10, *c):                 # a为必备 b为默认 c为可变
     print(f'a = {a}')
     print(f'b = {b}')
     print(f'c = {c}')
 
 fund(1, 2, 3, 4)         # 按照混合参数定义的顺序依次传值
 结果:
 a = 1
 b = 2             # 默认参数按照顺序传参,对应传2,覆盖掉原来的值
 c = (3, 4)
 
 例2:
 def funa(a, b=20, *c, d = 55):         # a必备 b默认 c可变参数 d命名关键字参数
     print(f'a = {a}')
     print(f'b = {b}')
     print(f'c = {c}')
     print(f'd = {d}')
 funa(1, 2, 3, 4, 7,8)
 
 结果:
 a = 1                # 1)按顺序传
 b = 2                # 2)覆盖了原来的值
 c = (3, 4, 7, 8)     # 4)剩下的都给c
 d = 55               # 3)命名关键字值更新需要用key = value的形式,这里没有,所以值选择默认

  • 发表于 2021-06-18 16:32
  • 阅读 ( 815 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Wilia
Wilia

5 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章