Python에서 동적으로 설정된 지역 변수에 액세스
이전 제안에도 불구하고 locals()를 통해 지역 변수를 직접 수정하는 것은 신뢰할 수 없고 정의되지 않습니다. 대신, 동적 지역 변수 조작을 달성하기 위해 몇 가지 실용적인 접근 방식을 사용할 수 있습니다.
사전 조작
사전을 활용하여 동적 지역 변수를 할당하고 액세스하세요.
d = {} d['xyz'] = 42 print(d['xyz'])
객체 속성
설정 동적 지역 변수를 생성하기 위한 객체의 속성:
class C: pass obj = C() setattr(obj, 'xyz', 42) print(obj.xyz)
참고:
비함수 네임스페이스(모듈, 클래스 정의, 인스턴스)의 변수에 액세스하려면 일반적으로 다음이 필요합니다. 사전 조회. 함수 로컬은 속도를 위해 최적화될 수 있으며 함수 내에서 locals()를 직접 수정하는 것은 일반적으로 불가능합니다.
IronPython 예외
IronPython에서 명시적으로 로컬() 호출 ) 지역 변수를 사전으로 반환합니다. 함수 내에서 로컬에 다른 이름을 바인딩하면 바인딩 범위의 로컬 변수에 대한 액세스 권한이 부여됩니다.
결론
사전이나 개체 속성을 사용하면 동적으로 설정하기 위한 안정적인 방법을 제공합니다. Python의 지역 변수. 예측할 수 없는 동작을 방지하려면 locals()를 직접 수정하는 데 의존하지 마세요.
위 내용은 Python에서 지역 변수를 동적으로 설정하고 액세스하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!