더북(TheBook)

여기서 한 가지 코드를 수정하겠습니다. 다룰 수 있는 프로그래밍 언어를 튜플 형태가 아닌 기존처럼 하나씩 출력하게 합시다. 값이 튜플이므로 for 문을 사용하면 가변 인자로 전달받은 값들을 하나씩 사용할 수 있습니다. 그리고 언어를 줄 바꿈 없이 한 줄에 표시하기 위해 이번에도 end=" "를 추가합니다. 모든 언어 정보를 출력하고 나면 다음 호출 결과를 출력할 때 줄 바꿈하도록 아무 내용이 없는 print()도 작성합니다.

def profile(name, age, *language):
    print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ")
    # print(language, type(language))
    for lang in language:
        print(lang, end=" ") # 언어를 모두 한 줄에 표시
    print() # 줄 바꿈 목적
profile("찰리", 20, "파이썬", "자바", "C", "C++", "C#", "자바스크립트")
profile("루시", 25, "코틀린", "스위프트")

실행결과 icon_con

이름 : 찰리   나이 : 20     파이썬 자바 C C++ C# 자바스크립트
이름 : 루시   나이 : 25     코틀린 스위프트

이제 가변 인자 덕분에 추가한 자바스크립트를 포함해 찰리가 다룰 수 있는 총 6개 프로그래밍 언어 정보를 전달할 수 있습니다. 또한, 루시가 다룰 수 있는 2개 언어를 전달하면서 뒤에 불필요한 빈 값을 적지 않아도 됩니다. 이처럼 서로 다른 개수의 값을 함수에 전달해야 할 때 가변 인자를 활용하면 편리합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.