37,743
社区成员




class Test(object):
pass
b = Test()
print(id(b))
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> class Test: pass
>>> b = Test()
>>> id(b)
1869634166736
>>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'Test': <class '__main__.Test'>, 'b': <__main__.Test object at 0x000001B34EE15FD0>}
>>> hex(1869634166736)
'0x1b34ee15fd0'
>>>
变量 b 不是一个对象了, 只是一个字符串标签绑上了对象地址,存放在globals 这个字典里。