Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 변수 이름을 문자열로 얻는 방법은 무엇입니까?

<시간/>

변수는 실제로 객체에 대한 이름 매핑이기 때문에 이것은 실제로 Python에서 수행하는 작업이 아닙니다. 정식 이름이 있는 Python의 유일한 객체는 모듈, 함수 및 클래스이며, 물론 이 정식 이름이 함수 또는 클래스가 정의되거나 모듈을 가져온 후 모든 네임스페이스에서 의미가 있다는 보장은 없습니다. 이러한 이름은 개체를 만든 후에 수정할 수도 있으므로 항상 신뢰할 수 있는 것은 아닙니다.

변수 이름을 문자열로 가져오는 방법이 여전히 있습니다. 그래도 추출하려면 변수 이름의 문자열을 알아야 합니다. 또한 이것은 변수 이름에 대한 역 검색입니다. 따라서 동일한 값을 가진 2개의 변수가 있으면 둘 중 하나를 반환할 수 있습니다. iteritems는 해당 값과 함께 범위의 모든 변수 목록을 반환합니다. 예를 들어,

>>> my_var = 5
>>> my_var_name = [ k for k,v in locals().iteritems() if v == my_var][0]
>>> my_var_name
'my_var'