Python 変数 ID を逆にして、元のオブジェクトを逆参照することはできますか?

Patricia Arquette
リリース: 2024-10-19 10:51:02
オリジナル
856 人が閲覧しました

Can Python Variable IDs Be Reversed to Dereference Their Original Objects?

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!