0
首先,請原諒我可憐的英語。 我遇到了問題。這樣的代碼。爲什麼沒有分配給變量的實例在Python中有一些物理地址
class Mydict(dict):
pass
print id(Mydict({"a": 1, "b": 2}))
print id(Mydict({"a": 1, "b": 2}))
print Mydict({"a": 1, "b": 2}).pop("a")
print id(Mydict({"a": 1, "b": 2}))
輸出:
>>>139700506146328
>>>139700506146328
>>>1
>>>139700506146328
當我實例化一個類。 並且沒有變量分配實例。 它給了我一些物理地址。
python在實例化時做了什麼?它如何分配物理地址?我從哪裏可以獲得一些信息?
我的Python是CPython的2.7.11
-----------------------增加(2017年9月17日)---- ---
我用了pycharm。
在我看來,它 也許得到不同的物理address.likes
>>>139700506146312
>>>139700506233123
>>>1
>>>139700506235222
沒有什麼特別之處它使用的地址。它一再重複給同一個地址的原因是因爲在實例傳遞給'id'後,沒有剩餘的引用,並且存儲立即被回收。如果您保留對變量中某個實例的引用,則下一個實例將具有不同的地址。 –