본문 바로가기
파이썬

파이썬 Python : dict의 변수를 네임 스페이스로로드

by º기록 2020. 12. 7.
반응형

함수 외부의 함수에 정의 된 여러 지역 변수를 사용하고 싶습니다. 그래서 반환 값에 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

 

 

반응형

댓글