Company类
来源:7-4 一个经典的参数错误

我是一只小蜗牛
2020-02-19
这节内容本质上是因为Python默认参数为list,dict的话,只会初始化一次,老师讲的有些含混不清
写回答
2回答
-
多谢提醒,既然这里已经提到了这个问题那么我就在这里再补充说明一下,希望能解释其他有相同问的疑问:
def get(name, mlist=[]): pass print(id(get.__defaults__[0]))
课程中讲解的是这里都会使用的默认的list,这个list是函数生成的时候就应该放在函数中了, 可以通过上面的代码看到 __defaults__就保存了默认的参数, 这是一个tuple,所以我取了第一个默认参数就是list, 也可以看到这个值的id, 当我们去调用这个函数没有设置默认值得时候,就会直接在这个值上修改,所以多次调用都会对这个对象进行操作,不知道这样能否解答你的疑问
10 -
bobby
2020-02-20
能具体说一下是哪个时间点的内容吗?
012020-02-22
相似问题