python

6. 지역변수와 전역변수

muyeon 2023. 5. 3. 12:23
gun = 10

def checkpoint(soldiers): # 경계근무
	gun = 20
	gun = gun - soldiers
	print("[함수 내] 남은 총 : {0}".format(gun))

print("전체 총 : {0}".format(gun))
checkpoint(2) # 두 명이 경계 근무 나감
print("남은 총 : {0}".format(gun))

'''
전체 총 : 10
[함수 내] 남은 총 : 18
전체 총 : 10
'''

gun = 10

def checkpoint(soldiers): # 경계근무
	global gun # 전역 공간에 있는 gun 사용
	gun = gun - soldiers
	print("[함수 내] 남은 총 : {0}".format(gun))

def checkpoint_ret(gun, soldiers):
	gun = gun - soldiers
	print("[함수 내] 남은 총 : {0}".format(gun))
	return gun

print("전체 총 : {0}".format(gun))
#checkpoint(2) # 두 명이 경계 근무 나감
gun = checkpoint_ret(gun, 2)
print("남은 총 : {0}".format(gun))

'''
전체 총 : 10
[함수 내] 남은 총 : 8
전체 총 : 8
'''

# 전역변수를 사용하는건 관리가 힘드므로 파라미터로 계산해서 반환값을 주는게 더 좋다.