반응형
함수 외부의 함수에 정의 된 여러 지역 변수를 사용하고 싶습니다. 그래서 반환 값에 x = locals ()
를 전달합니다.
x [ 'variable']
을 사용하여 값에 액세스하는 대신 단순히 variable
을 사용할 수 있도록 해당 사전에 정의 된 모든 변수를 함수 외부의 네임 스페이스에로드하려면 어떻게해야합니까? 코드>.
해결 방법
Bunch
대안을 고려하십시오.
class Bunch(object):
def __init__(self, adict):
self.__dict__.update(adict)
따라서 사전 d
가 있고 clumsier d [ 'foo'] <대신
x.foo
구문을 사용하여 해당 값에 액세스 (읽기)하려는 경우 / code>, 그냥 해
x = Bunch(d)
이것은 내부 및 외부 함수 모두에서 작동하며 d
를 globals ()
에 주입하는 것보다 엄청나게 깨끗하고 안전합니다! Zen of Python의 마지막 줄을 기억하십시오 ... :
>>> import this
The Zen of Python, by Tim Peters
...
Namespaces are one honking great idea -- let's do more of those!
참조 페이지 https://stackoverflow.com/questions/2597278
반응형
'파이썬' 카테고리의 다른 글
파이썬에서 중첩 (이중) 루프 끊기 (0) | 2020.12.08 |
---|---|
파이썬으로 목록에서 사전 만들기 (0) | 2020.12.08 |
파이썬 matplotlib에서 쉼표를 사용하여 축 번호 형식을 천 단위로 어떻게 포맷합니까? (0) | 2020.12.07 |
파이썬 Python에서 프로세스 시작 시간 (또는 가동 시간)을 검색하는 방법 (0) | 2020.12.07 |
파이썬 Numpy : 2 개의 실제 배열로 복잡한 배열을 만드시나요? (0) | 2020.12.07 |
댓글