함수 밖에 선언된 변수로 어디에서나 사용은 가능하지만 함수 안에서 수정할 수는 없다.
num_out = 10
def printNumbers():
num_out = 20
print(f'num_out: {num_out}')
printNumbers()
print('num_out : {}'.format(num_out))
<출력값>
num_out: 20
num_out : 10
두번째 num_out은 같은 변수가 나온게 아님
함수 안에 변수와 바깥 변수가 동명이인처럼 작동만 했을뿐.
바깥 변수를 함수도 쓸 수는 있지만 수정은 안된다!
함수 안에서 선언된 변수로 함수 안에서만 사용가능하다
함수 안에 변수를 호출 할때는 함수를 호출해야함! 변수만 단독으로 호출 못함!!!
def printNumber():
num_in = 20
print(num_in)
printNumber() -> 가능
def printNumber():
num_in = 20
print(num_in)
print(num_in) -> 불가능 XXXXXXXXXXXXXXXXXXXXX
global 사용하면 함수 안에서도 전역변수의 값을 수정할 수 있다.
함수에게도 수정권한을 주는 개념
함수 내부에서 << global 변수명 >> 선언해주고 사용
num_out = 10
def printNumbers():
global num_out
num_out = 20
print(num_out)
print(num_out)
printNumbers()
<출력>
10
20