欢迎光临散文网 会员登陆 & 注册

【Python】我精心设计的默认参数,怎么就出问题了呢?

2022-11-30 20:05 作者:最懂数码的小辉  | 我要投稿

最懂你心的UP课代表来啦👍👍👍


【Python】我精心设计的默认参数,怎么就出问题了呢?



目录


一、问题

二、问题原理

三、官方解释

四、如何解决


一、问题


00:35


初始玩家叫P1

第二个玩家P2

一个道具charles

一个道具sword


打印Alice的道具

运行程序发现Alice有个armor和sword


二、问题原理


02:44


Python做默认参数时只会把参数evaluate一遍

只求一次值

把这个值当作默认参数


打印ID print.self

再运行程序

两个ID一模一样

第三个ID不一样

说明Alice Bob共享了一个list


三、官方解释


04:15


当你使用一个mutable的默认参数时

你要理解你在干什么

大部分情况达不到理想效果


四、如何解决


04:52


把默认参数变为None

is None


【Python】我精心设计的默认参数,怎么就出问题了呢?的评论 (共 条)

分享到微博请遵守国家法律