2 개의 파일 main.py 및 irc.py가 있습니다.
main.pyPython : 모듈의 주 파일에서 변수를 사용하려면 어떻게해야합니까?
import irc
var = 1
func()
irc.py
def func():
print var
나는이 오류가 작동하도록하는 방법
납니다 main.py를 실행하려고?NameError: global name 'var' is not defined
@Edit
나는 더 나은 솔루션 만이 생각 불행하게도 내가 찾은 하나는
main.py 또 다른 파일을 모두 파일로 가져 오는 것입니다
import irc
import another
another.var = 1
irc.func()
irc.py
import another
def func():
print another.var
another.py
var = 0
이 인수를 추가하는 대신이 함수를 주 파일로 옮기기가 쉬울 것입니다. – gr56
@ gr56 : 그러면 리팩토링이 순서대로 수행됩니다. 그것도 가능하지 않다면, 나는 단지'var' 객체를 포함하고 둘 모두에 의해 import되는 세 번째 모듈의 해결책을 가지고 갈 것입니다. 그것이 당신을 위해 일하는 경우, 자신의 질문에 대한 답변으로 게시하고 동의하십시오. –
@SamirTalwar 함수에 대해이 작업을 수행 할 수 있습니다. 클래스의 인스턴스화는 어떻게됩니까? 예를 들어, 가져올 수있는 다른 모듈에서 클래스의 인스턴스를 정의하려고합니다. 인수는이 경우 자리 표시 자일 수 없습니다. –