지역변수: 함수 내에서만 쓸 수 있는 변수(함수를 호출했을 시에만 적용)
전역변수: 프로그램 내에서 모두 쓸 수 있는 변수
gun = 10 -> 외부에 있는 수 이므로 [함수 내]남은 총 개수에는 영향을 주지 않음.
#지역변수
def checkpoint(soldiers): #경계근무 군인 수
gun = 20 -> 함 수 내에서 gun의 개수 다시 설정해줘야 함.
gun = gun - soldiers #총 - 경계근무 군인 수 = 총이라는 변수에 넣는다
print("[함수 내] 남은 총 : {0}".format(gun)) #20-3 = 18
print("전체 총 : {0}".format(gun)) #10
checkpoint(2) #2명이 경계 근무
print("남은 총 : {0}".format(gun)) #10
#전역변수
gun = 10
def checkpoint(soldiers): #경계근무 군인 수
global gun #전역 공간에 있는 gun 사용-> 즉, gun=10 을 함수 내에서 사용
gun = gun - soldiers #총 - 경계근무 군인 수 = 총이라는 변수에 넣는다
print("[함수 내] 남은 총 : {0}".format(gun)) #10 - 2 = 8
print("전체 총 : {0}".format(gun)) #10
checkpoint(2) #2명이 경계 근무
print("남은 총 : {0}".format(gun)) #8
#전역변수 사용하는 다른 방법(더 간단한return사용)
gun = 10
def checkpoint_ret(gun, soldiers):
gun = gun - soldiers
print("[함수 내] 남은 총 : {0}".format(gun)) #8
return gun -> gun의 수 10 을 return함으로써 사용가능
print("전체 총 : {0}".format(gun)) #10
gun = checkpoint_ret(gun, 2)
print("남은 총 : {0}".format(gun)) #10-2= 8
반응형
'Python' 카테고리의 다른 글
25. 가변인자 (0) | 2023.05.24 |
---|---|
24. 기본 (0) | 2023.05.24 |
23. 전달값과 반환값 (1) | 2023.05.24 |
22. 함수 (0) | 2023.05.24 |
21. 한 줄 for (0) | 2023.05.24 |