그래서 혼란 스럽네요. 다른 모듈에서 사용하는 일부 기능을 포함하는 모듈이 있습니다. 다음과 같이 가져옴 :Python - 전역 변수에 함수를 지정하려면 return 함수가 전역 변수가되어야합니까?
from <module> import *
내 모듈 안에는 주 프로그램에 전역 변수를 설정하는 기능이 있습니다.
main.py :
from functions import *
bar = 20
print bar
changeBar()
print bar
functions.py :
지금def changeBarHelper(variable):
variable = variable * 2
return variable
def changeBar():
global bar
bar = changeBarHelper(bar)
, 이것이 단순화이지만 동일한 결과를 산출 최소 코드 :
Traceback (most recent call last):
File "/path/main.py", line 5, in
changeBar()
File "/path/functions.py", line 7, in changeBar
bar = changeBarHelper(bar)
NameError: global name 'bar' is not defined
을
힌트 : 전역 변수를 사용하지 마십시오. 그들은 거대하게 나쁜 생각입니다. 이것은 왜 훌륭한 예입니다. 그들은 사용하기가 어렵습니다. 따라서 그들을 사용하지 마십시오. –
전역 변수가 악합니다. import *는 악합니다. 악은 혼란을 일으킨다. –