반응형
예를 들어, 아래와 작성된다면 입력 받은 문자열이 "apple" 일 때, apple이라는 변수가 생성되고 값이 할당되는 것을 볼 수 있다.
user_input = input("Enter string for variable name: \n")
globals()[user_input] = 50
print(apple)
print(type(apple))
>>> 50
>>> <class 'int'>
이 때, globals는 글로벌 변수를 의미하고, locals는 로컬 변수를 의미한다.
globals() 를 호출했을 때는 글로벌 변수들이, locals() 를 호출했을 때는 로컬 변수들이 Dictionary 형태로 불러와진다.
따라서, Dict의 특성에 따라, globals()["apple"] = 50 이라고 하면, 새로운 Key-Value 쌍이 만들어지는 것이며,
이는 곧, apple = 50 과 같은 효과가 되는 것이다.
같은 원리로, 로컬 변수 할당은 locals()["apple"] = 50 이라고 하면 된다.
반응형
'Programming Language > Python' 카테고리의 다른 글
[파이썬/Python] 숫자/문자열 앞에 "0" 채우기 (1) | 2021.06.08 |
---|---|
Effective Python. 메타클래스로 클래스 속성에 주석을 달자. (0) | 2021.03.03 |
Effective Python. 메타클래스로 서브클래스를 검증하자. (0) | 2021.03.03 |
Effective Python. 지연 속성에는 __getattr__, __getattribute__, __setattr__을 사용하자. (0) | 2021.03.02 |
Effective Python. 재사용 가능한 @property 메서드에는 디스크립터를 사용하자. (0) | 2021.03.02 |