Discuss / Python / 这章写的看不懂。

这章写的看不懂。

Topic source

脑洞开天

#1 Created at ... [Delete] [Delete and Lock User]

L=None是说L是个常量不可以被改变了吗?

柑笛

#2 Created at ... [Delete] [Delete and Lock User]

不是。 L = None,L相当于一个标签,指向存储None的内存空间,当L的值发生变化时,系统会找一个新的内存空间来存储这个值,所以说None是不可变对象; L = [],L的值发生变化时,系统会在存储[]的内存空间里直接把[]变成别的值,所以说[]是可变对象。

脑洞开天

#3 Created at ... [Delete] [Delete and Lock User]

def add_end(L=[]): L.append('END') return L

终于想明白这段代码了,对象内容的改变,变量的指向地址不变。也就是老师说的:Python函数在定义的时候,默认参数L的值就被计算出来了。老师说的这个‘参数L的数值’应该不是L的内容而是L的指针地址。请问我理解的对吗?唉,看来我编程没有天赋啊。


  • 1

Reply