Company类

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

我是一只小蜗牛

2020-02-19

这节内容本质上是因为Python默认参数为list,dict的话,只会初始化一次,老师讲的有些含混不清

写回答

2回答

bobby

2020-02-23

多谢提醒,既然这里已经提到了这个问题那么我就在这里再补充说明一下,希望能解释其他有相同问的疑问:

def get(name, mlist=[]):
    pass
print(id(get.__defaults__[0]))

    课程中讲解的是这里都会使用的默认的list,这个list是函数生成的时候就应该放在函数中了, 可以通过上面的代码看到 __defaults__就保存了默认的参数, 这是一个tuple,所以我取了第一个默认参数就是list, 也可以看到这个值的id, 当我们去调用这个函数没有设置默认值得时候,就会直接在这个值上修改,所以多次调用都会对这个对象进行操作,不知道这样能否解答你的疑问

1
0

bobby

2020-02-20

能具体说一下是哪个时间点的内容吗?

0
1
我是一只小蜗牛
7-4 一个经典的参数错误 8分04秒
2020-02-22
共1条回复

Python3高级核心技术97讲,高级进阶的必学课程

socket编程/多线程/多进程/线程池/asyncio并发编程/协程和异步IO

2121 学习 · 551 问题

查看课程