ホームページ >バックエンド開発 >Python チュートリアル >Python 変数 ID を逆にして、元のオブジェクトを逆参照することはできますか?
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 中国語 Web サイトの他の関連記事を参照してください。