본문 바로가기

Python

26. 지역변수와 전역변수

지역변수: 함수 내에서만 쓸 수 있는 변수(함수를 호출했을 시에만 적용)

전역변수: 프로그램 내에서 모두 쓸 수 있는 변수

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