>백엔드 개발 >파이썬 튜토리얼 >Python 변수 ID를 뒤집어 원래 개체를 역참조할 수 있나요?

Python 변수 ID를 뒤집어 원래 개체를 역참조할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-10-19 10:51:02961검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.