Python3.7中打印变量地址报错?
我在Python3.7版本中要打印一个变量地址,结果怎么报错了?正确的写法是什么?
报错图如下:
真确的写法是 print(id(a))
我自问自答了 本帖最后由 丛林猫 于 2017-9-23 14:51 编辑
myteacher已被重新赋值了,为什么打印出来还是cat? 英文打错了。。。。囧。。。。。。
That'sit! print(id(a)) 那么新的地址是不是永远都比原地址大呢?
答案是肯定的,但我想问的是,如果变量相当于指针,指向地址的话,那么他Python调用的时候也相当于从栈中调出内容吗?第一个POP出来的应该是最上面的内容啊,那是不是就可以说明,栈中,后放进去的内容要先弹出来?可是内存中也是如此吗?内存中的地址不应该是从小到大排列的吗?怎么会先弹出较大地址存放的东西呢? 对于变量myteacher来说,他指向了一个新地址,可是这个新地址永远都比原地址要大,内存中地址是按从小到大排列的,那为什么他出来的结果会是新地址里面的内容呢? 基础打得不好,请大家多多指教! ba21 发表于 2017-9-23 15:08
print(id(a))
谢谢!那你知道内存中的地址是怎么样被Python调用的吗?对于变量myteacher来说,他指向了一个新地址,可是这个新地址永远都比原地址要大,为什么呀?内存中地址是按从小到大排列的,那为什么他出来的结果会是新地址里面的内容呢?
烦请指教了!谢谢你! 丛林猫 发表于 2017-9-23 15:25
谢谢!那你知道内存中的地址是怎么样被Python调用的吗?对于变量myteacher来说,他指向了一个新地址,可 ...
难道说,内存地址的排列方式是从下往上吗? 丛林猫 发表于 2017-9-23 15:28
难道说,内存地址的排列方式是从下往上吗?
知道啦,是从低到高排列的 怎么我老是自问自答。。。好囧。。。。。。。。。
页:
[1]