• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python函数中的不定长参数相关知识总结

python 搞代码 4年前 (2022-01-07) 17次浏览 已收录 0个评论
文章目录[隐藏]

今天给大家带来的是关于Python函数的相关知识,文章围绕着Python不定长参数展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下

一、 不定长位置参数

 # 在定义函数参数时,可以在形参的前面加*,该形参将获取所有的位置实参 # 它会将所有的实参保存在一个元组中 def fn(*args): print("args=", args) print("args type:", type(args)) # 带*形参和其他参数配合使用 def fn1(a, b, *args): print(a) print(b) print(args) # 下面这两种写法可以,但是在传实参的时候要注意 def fn2(*args, a, b): print(a) print(b) print(args) def fn3(a, <b style="color:transparent">来源gao@dai!ma.com搞$代^码网</b>*args, b): print(a) print(args) print(b) if __name__ == "__main__": # 接收所有的位置参数 fn(1, 2, 3, 4, 5) fn1(11, 12, 13, 14) # fn2(21, 22, 23, 24)  #这么传会报错 fn2(21, 22, a=23, b=24) # fn3(21, 22, 23, 24)  #这么传会报错 fn3(21, 22, 23, b=24) 

fn运行 结果

fn1运行结果

fn2运行结果

fn3运行结果

总结:

1.带*的形参只能有一个,有多个会报错,不能识别

2.带*的形参可以和其他参数配合使用,比如和不带星的

3.带*的形参不一定要放在最后面,可以放在最前面,中间,最后。但是注意,带星的参数后的所有参数,必须以关键字参数的形式传递,否则会保错。

二、不定长关键字参数

 # 带*的形参只能接收位置参数,关键字参数接收不能接收 # 如下会报错,fn传如下值是会报错的 def fn(*args): print("args=", args) print("args type:", type(args)) if __name__ == "__main__": # 这样传会保存,args不能接收关键字参数 fn(1, 2, 3, 4, a=10) 

运行如下:

 # **形参能接收关键字参数 # 它将接收的所有关键字参数统一保存在一个字典中 def fn4(**kwargs): print("kwargs = ", kwargs) print(type(kwargs)) if __name__ == "__main__": fn4(a=1, b=2, c=3) 

运行结果:

总结:

1.**形参只能有一个,并且必须写在所有参数的最后。

2.字典的key就是参数的名字,字典的value就是参数的值

到此这篇关于Python函数中的不定长参数相关知识总结的文章就介绍到这了,更多前端的相关知识总结的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python函数中的不定长参数相关知识总结

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址