유튜브 '나도코딩'채널의 파이썬 강좌를 토대로 정리한 내용입니다.
가변인자 함수는 함수가 몇 개의 인자를 받을지 정해지지 않은 함수입니다.
입력
def profile(name, age, *language): print("이름 : {0}\t나이 : {1}\t". format(name, age), end=" ") for lang in language: print(lang, end=" ") print()print("유재석", 40, "python", "java", "c", "c++", "c#") print("김태호", 30, "kotlin", "swift")
가변인자 *language를 통해 입력값이 여러 개일 때 몇 개의 입력값이 더 추가될 지 모르는 상황에서 유용하다.
입력
gun = 10 def checkpoint(soldiers): # global gun gun = gun - soldiers print("[함수 내] 남은 총 : {0}". format(gun))def checkpoint_ret(gun, soldiers): gun = gun - soldiersprint("전체 총 : {0}". format(gun)) checkpoint(2) # 2명이 경계 근무 나감 print("남은 총 : {0}". format(gun))출력(# global gun 주석처리 상태 출력)
checkpoint gun = gun - soldiers UnboundLocalError: local variable 'gun' referenced before assignment출력(# global gun 호출 상태 출력)
전체 총 : 10 [함수 내] 남은 총 : 8 남은 총 : 8
# global gun 으로 전역변수를 호출 하지않는다면 gun변수가 할당되지 않았다는 오류가 출력된다. 전역변수인 gun = 10을 # global gun 을 사용하여 지역변수로 사용할 수 있게 해준다. 전역변수를 지역변수로 설정함으로써 알맞은 결과값이 생성된 것을 볼 수 있다.!