摘要:
大二寒假,在家没事看python,当看到python中数字是不可变的时候,我就看不下去了。如果i = i + 1这样简单的运算都要产生一个新的变量,这是多么低效的啊,明明直接往那块内存写入一个新值不就行了吗。 现在,算是看出来了,这也是必须这么做的,因为这些最Basic的数字和字符串都用引用了。引用的意思就是Share一块存储空间,如果更改了这块存储区的内容,那么所有引用这块存储区的引用变量就都变了,这未免与老祖宗C语言的语义出入太大。 Python中赋值,只是传递引用。 所以,默认都是Shallow Copy。 如果想要做Deep Copy,可以使用copy模块的deepcopy方法。也可. 阅读全文