这章写的看不懂。
Topic source不是。 L = None,L相当于一个标签,指向存储None的内存空间,当L的值发生变化时,系统会找一个新的内存空间来存储这个值,所以说None是不可变对象; L = [],L的值发生变化时,系统会在存储[]的内存空间里直接把[]变成别的值,所以说[]是可变对象。
def add_end(L=[]): L.append('END') return L
终于想明白这段代码了,对象内容的改变,变量的指向地址不变。也就是老师说的:Python函数在定义的时候,默认参数L的值就被计算出来了。老师说的这个‘参数L的数值’应该不是L的内容而是L的指针地址。请问我理解的对吗?唉,看来我编程没有天赋啊。
- 1
脑洞开天
L=None是说L是个常量不可以被改变了吗?