파이썬에서 전역변수는 어떻게 쓰나요?
조회수 27988회
아래의 코드를 실행하면
func1의 호출에서 globVar
이 선언되지 않았다고 합니다.
아마 globVar = 3
이 전역변수가 아니라서 그런것 같은데 파이썬에서 전역변수는 어떻게 쓰나요?
에러메시지
SyntaxError: Missing parentheses in call to 'print'
소스코드
globVar = 3
def func1():
globVar+=1
def func2():
print globVar
func1()
func2()
1 답변
-
파이썬은 기본적으로 대부분의 변수를 지역변수로 사용합니다. 따라서
globVar = 3
의globVar
과func1
의globVar
는 이름만 같을 뿐 서로 다른 scope에 있는 변수라서func1
을 호출하면globVar
이 선언되지 않았다고 에러가 뜨는 것입니다.전역변수 선언을 위한 키워드는
global
입니다. 질문하신 경우는def func1(): global globVar globVar = 3 globVar+=1 def func2(): print globVar func1() func2()
와같이 쓰시면 됩니다.
댓글 입력