지역변수vs 전역변수
지역변수? 지역구! 즉, 함수 내에서 선언하여 그 함수 내에서만 사용가능한 변수이다.
전역변수? 전역구! 즉, 함수 밖에서 선언하여 파일 내 모든 함수에서 사용 가능한 변수이다.
num=10 #전역변수
def f1():
num=20 #지역변수. 저장하는 메모리가 전역과 서로 다르기때문에 에러안남.
print('f1:',num)
def f2():
x=5
print('f2 x:',x)
print('f2 num:', num)
def main():
print('main num:', num)
# print('main x:', x) : 다른 함수의 지역변수 사용불가가
f1()
f2()
print('main num:', num)
main() #메인함수 먼저 출력
out)
그런데 코딩을 짜다보니 전역변수를 바꾸고 싶다면?
그럴 때는 함수 내에서 global <변수> 를 지정해주면 되지롱~
num=10 #전역변수
def f1():
global num #num을 전역변수로 지정(즉, 전역변수 수정).
num=20 #지역변수. 저장하는 메모리가 전역과 서로 다르기때문에 에러안남.
print('f1:',num)
def f2():
num=15
x=5
print('f2 x:',x)
print('f2 num:', num)
def main():
print('main num:', num)
# print('main x:', x) : 다른 함수의 지역변수 사용불가가
f1()
f2()
print('main num:', num)
main() #메인함수 먼저 출력
out)
근데 왜 global을 써도 에러가 뜨는거지...? (멘붕)
'파이썬이 제일 쉽다면서요' 카테고리의 다른 글
python #immutable과 mutable (0) | 2021.06.07 |
---|---|
python #연습문제. 다마고치게임 (0) | 2021.06.07 |
python #함수(3) (0) | 2021.06.04 |
python #함수(2) 예제.약수구하기 (0) | 2021.06.04 |
python #함수(2) - 예제. 계산기 (1) | 2021.06.04 |