python默认参数惹得祸

举报
风吹稻花香 发表于 2021/06/05 01:01:29 2021/06/05
【摘要】   以下代码,执行结果是多少? def num_add(a=1,b=2): return a+b if __name__ == '__main__': data=num_add(2) print(data) 答案是4 data=num_add(2,3) print(data) 答案是5   比如有个函数,参数a是必须参数,结构我给设置了...

 

以下代码,执行结果是多少?


  
  1. def num_add(a=1,b=2):
  2. return a+b
  3. if __name__ == '__main__':
  4. data=num_add(2)
  5. print(data)

答案是4


  
  1. data=num_add(2,3)
  2. print(data)

答案是5

 

比如有个函数,参数a是必须参数,结构我给设置了默认值,当我一个月之后调用的时候,忘了给这个参数赋值

 

结果,他调用的默认值,导致我的结果是不对的,

有其他函数和这个函数95相似,混淆了我的思路,

结果查了半天,也没查出来。

 

找同事帮忙,细心的朋友才能发现这个问题。

以后,不管什么语言,必要的参数,不能设置默认值,

否则,不知不觉之中,就会犯大错。

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/116129441

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。