Discuss / Python / 变量 内存

变量 内存

Topic source

brigthing

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

想问个问题,

1、在python中定义了一个变量 a=100,100是在内存中开辟空间存放的,那a这个变量本身是不是也是在内存中重新开辟一小块空间来存放?老师这边说的是在内存中创建了一个变量a,是占内存的意思吧?求解

廖雪峰

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

我不建议你一开始就想这么细。

如果你学过C,那么100是占用几个字节存的数字,而a本身是一个内存地址而已。但是高级语言就复杂多了,a是一个指针对象,它本身也是一个对象

在上面的问题,没看明白

a = 'ABC'

b = a

a = 'XYZ'

print(b)

第一个a已经创建变量内存,同时创建数据内存ABC,然后变量b指向a内存,也就是指向数据内存abc。第二次创建数据内存xyz,a重新指向数据内存xyz,但是b指向a的关系没有变化,print的时候为啥b不是a对应的新内存。。。。

难道是第二次重新创建a的变量内存,虽然两个a名称一样,但是内存地址不一样,所以b只是指向第一个内存地址?

黑米2024

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

因为b=a的时候,a指向的是数据内存ABC


  • 1

Reply