像C/C++之类的编程语言,变量名称实际上是代表的一块内存区域,对该变量赋值的意思就是将新的值放入该变量指定的内存区域。而对于python来说,所有的变量都是对内存区域的引用,对变量赋值相当于将变量引用的内存从一块区域改变到另外一块存放新值的区域。也就是说,C/C++中,变量名和内存区域的对应关系不会变,变的只是对应内存中存放的值;而在python中,变量只是对存放其值的内存区域的引用,变量值的改变不是因为变量指向的内存区域中的值发生了变化,而是变量引用了新的存放新值的内存区域。python中的所有变量都是相当于java中的不可变的变量,任何一次值的改变都对应着变量引用内存区域的变化。
来源:http://blog.youkuaiyun.com/scuter_yu/article/details/44496423
本文探讨了Python与C/C++中变量处理方式的区别。在C/C++中,变量直接映射到特定内存地址,并且修改的是该地址处的数据。而在Python中,变量则是对数据的引用,对变量赋值会改变其指向的内存地址。
184

被折叠的 条评论
为什么被折叠?



