赞
踩
在Python中将一个变量的值赋给另一个变量时会发生什么?
这是我学习python的第二天(我知道C ++和一些OOP的基础知识。),我对python中的变量有些轻微的混淆。
以下是我目前的理解方式:
Python变量是对象的引用(或指针?)(它们是可变的或不可变的)。 当我们有类似num = 5的东西时,在内存中的某处创建不可变对象5,并在某个名称空间中创建名称 - 对象引用对num。 当我们有a = num时,没有被复制,但现在两个变量都引用同一个对象,spam被添加到同一个命名空间。
这就是我的书,用Python自动化无聊的东西,让我感到困惑。 因为它是一本新手书,它没有提到对象,命名空间等,它试图解释以下代码:
>>> spam = 42
>>> cheese = spam
>>> spam = 100
>>> spam
100
>>> cheese
42
它提供的解释与C ++书籍完全相同,我不满意,因为我们正在处理对象的引用/指针。 所以在这种情况下,我想在第3行中,由于整数是不可变的,spam被分配了一个全新的指针/引用到内存中的不同位置,即它最初指向的内存未被修改。 因此我们有cheese引用spam所指的初始对象。这是正确的解释吗?
8个解决方案
78 votes
作为C ++开发人员,您可以将Python变量视为指针。
<Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。