丛林猫 发表于 2017-9-23 14:20:15

Python3.7中打印变量地址报错?

我在Python3.7版本中要打印一个变量地址,结果怎么报错了?
正确的写法是什么?
报错图如下:

丛林猫 发表于 2017-9-23 14:38:03

真确的写法是 print(id(a))
我自问自答了

丛林猫 发表于 2017-9-23 14:49:42

本帖最后由 丛林猫 于 2017-9-23 14:51 编辑


myteacher已被重新赋值了,为什么打印出来还是cat?

丛林猫 发表于 2017-9-23 14:52:42

英文打错了。。。。囧。。。。。。

丛林猫 发表于 2017-9-23 14:56:40


That'sit!

ba21 发表于 2017-9-23 15:08:04

print(id(a))

丛林猫 发表于 2017-9-23 15:14:37

那么新的地址是不是永远都比原地址大呢?
答案是肯定的,但我想问的是,如果变量相当于指针,指向地址的话,那么他Python调用的时候也相当于从栈中调出内容吗?第一个POP出来的应该是最上面的内容啊,那是不是就可以说明,栈中,后放进去的内容要先弹出来?可是内存中也是如此吗?内存中的地址不应该是从小到大排列的吗?怎么会先弹出较大地址存放的东西呢?

丛林猫 发表于 2017-9-23 15:18:22

对于变量myteacher来说,他指向了一个新地址,可是这个新地址永远都比原地址要大,内存中地址是按从小到大排列的,那为什么他出来的结果会是新地址里面的内容呢?

丛林猫 发表于 2017-9-23 15:19:53

基础打得不好,请大家多多指教!

丛林猫 发表于 2017-9-23 15:25:34

ba21 发表于 2017-9-23 15:08
print(id(a))

谢谢!那你知道内存中的地址是怎么样被Python调用的吗?对于变量myteacher来说,他指向了一个新地址,可是这个新地址永远都比原地址要大,为什么呀?内存中地址是按从小到大排列的,那为什么他出来的结果会是新地址里面的内容呢?
烦请指教了!谢谢你!

丛林猫 发表于 2017-9-23 15:28:19

丛林猫 发表于 2017-9-23 15:25
谢谢!那你知道内存中的地址是怎么样被Python调用的吗?对于变量myteacher来说,他指向了一个新地址,可 ...

难道说,内存地址的排列方式是从下往上吗?

丛林猫 发表于 2017-9-23 15:32:04

丛林猫 发表于 2017-9-23 15:28
难道说,内存地址的排列方式是从下往上吗?

知道啦,是从低到高排列的

丛林猫 发表于 2017-9-23 15:32:39

怎么我老是自问自答。。。好囧。。。。。。。。。
页: [1]
查看完整版本: Python3.7中打印变量地址报错?