작성한 질문수
모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
Variable scope
작성
·
183
0
# Ex3 c = 40 def foobar(): # c = c + 10 # UnboundLocalError # c = 10 # c += 100 print('Ex3 > ', c) foobar()
여기서 c = 10은 값 수정이 아닌 값 할당으로 내부에서 10 그대로 출력하기 때문에 문제없지않나요??
답변 2
저도 똑같은거 보고 왔네요. 실행시켜보면 에러 안납니다.
파이썬에서는 전역변수를 지역변수를 쓰고 싶은 경우 global을 붙여줘야 해여~~
https://docs.python.org/3/reference/simple_stmts.html#the-global-statement
두번째 주석 #c = 10 이 부분만 주석 풀면 함수 내에서는 에러 없는 구문일거 같은데
저 c 를 함수 내부에서 바뀐 값으로 함수 밖에서도 사용하려면 global 이라고 붙여야 한다고 설명해야지 너무 성의 없는 답변이네요.
두번째 주석 #c = 10 이 부분만 주석 풀면 함수 내에서는 에러 없는 구문일거 같은데
저 c 를 함수 내부에서 바뀐 값으로 함수 밖에서도 사용하려면 global 이라고 붙여야 한다고 설명해야지 너무 성의 없는 답변이네요.