이 질문은 아마도 전에 물어 보았을 것입니다. 그러나 스택 오버플로에서 발견 한 다른 게시물은 주로 전역 변수 변경 및 함수 가져 오기 등을 다루었습니다. 내가 빠른 검색을했을 때.파이썬에서 여러 모듈에서 사용할 변수를 선언하는 방법
저는 파이썬으로 코드를 작성하기 시작했습니다. 다음을 수행하는 가장 효율적이고 적절한 방법이 무엇인지 궁금합니다.
다른 모듈로 가져 오는 부모 모듈이 있습니다.
# some import statements go here
# Constants that need to be the same for all objects
a = 1
b = 2
...
# A class with some useful functions
class Def():
def __init__(self):
...
Def 클래스의 함수를 사용하기 위해이 모듈을 가져오고 있습니다. 그러나 클래스를 가져 오는 모든 모듈이 클래스 외부에 선언 된 상수에 액세스 할 수도 있기를 바랍니다.
내가 외부에서 선언 한 이유는 그 모듈에서 모듈을 호출 할 때마다 그 값을 사용하기를 원하기 때문입니다. 객체에 부착하고 싶지 않고 (self.a, self.b 등으로 참조해야 함) 사용중인 모든 모듈에서 상수가됩니다.
내가 고려하고있는 옵션 중 일부
은 다음과 같습니다- 는
- 사용
from parentmodule import *
나는를 별도의 클래스에서 전역 변수 이러한 선언, 모든 모듈에 클래스를 가져 이들 중 하나가 효과가 있는지, 그리고이를 수행하는 표준 방법이 있는지 확실하지 않습니다. 후자를하는 동안 변수의 이름 충돌은 상수의 특성 때문에 문제가되지 않습니다. 내 프로그램의 맥락에서 그들은 다른 변수를 나타내는 데 사용되지 않는 고유 한 이름을 가진 물리적 상수입니다.
질문이 너무 기본/이전 질문 인 경우 죄송하며 도움을 주셔서 감사합니다.
변수가 모든 모듈에서 공통적이라고 말하면서 mystuff.a, mystuff.b 등을 계속 입력 할 필요가 없습니까? – GoK
mystuff.a를 a로 가져올 수 있습니다. 변수를 a로 호출 할 수 있습니다. 각 변수에 대해 한 줄의 코드가 필요하므로 너무 많은 변수가없는 한 작동합니다. – Parzzival
또는 'from mystuff import a'. –