【 在 ooolinux 的大作中提到: 】
: b=func()无参调用使用默认参数[ ]空列表,就算和上次调用同一个列表对象,为啥不初始化为空的[ ]列表?
对象只是在创建的时候才会初始化, python是动态语言, 只有第一次调用生成缺省对象的时候才需要调用对象初始化函数(确切是在import函数或者类所在的模块的时候,生成函数对象的时候,会初始化容器类型或者类实例类型的默认参数), 后面实际调用调用, 只需要生成引用绑定, 如果调用者提供, 绑定调用者, 如果没提供, 绑定默认。
如果, 每次都生成新对象, 并且做拷贝初始化, 那就是传值了。
引用的意思, 就是传入一个指向已存在的对象的索引的意思, 甚至, 你可以在函数里再把这个对象传出来, 它们都指向同一个list。 使用任意一个引用去改变list的值, 其它引用也会看到改变。
--
修改:poggy FROM 115.171.155.*
FROM 115.171.155.*