TIL - python(가변인자, 지역변수 & 전역변수)

한성봉·2021년 4월 15일

유튜브 '나도코딩'채널의 파이썬 강좌를 토대로 정리한 내용입니다.

가변인자

가변인자 함수는 함수가 몇 개의 인자를 받을지 정해지지 않은 함수입니다.

입력

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 - soldiers
print("전체 총 : {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 을 사용하여 지역변수로 사용할 수 있게 해준다. 전역변수를 지역변수로 설정함으로써 알맞은 결과값이 생성된 것을 볼 수 있다.!

0개의 댓글