Python 中變數 ID 可以取消引用嗎?
Python 中使用 id 函數檢索的變數 ID 是否可以取消引用是值得探討的。考慮以下查詢:
dereference(id(a)) == a
雖然有更實用的方法可以實現此目的,但我們將從學術角度深入研究這個問題。
答案
可以使用與 Python 2 和 Python 3 相容的實用函數。但是,需要注意的是,該函數的安全性存在爭議,一些專家強烈建議不要使用它。
import _ctypes def di(obj_id): """ Inverse of id() function. """ return _ctypes.PyObj_FromPtr(obj_id) if __name__ == '__main__': a = 42 b = 'answer' print(di(id(a))) # -> 42 print(di(id(b))) # -> answer
此函數反轉 id() 操作,允許從變數 ID 檢索原始物件。
以上是Python 變數 ID 可以反轉以取消引用其原始物件嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!