[Python] 가변인자

작성:    

업데이트:

카테고리:

태그: , , ,

1. 가변인자의 필요성

def profile(name, age, lang1, lang2, lang3, lang4, lang5):
    print("이름 : {0}\t나이 : {1}".format(name, age), end=" ")
    # , end=" " -> 함수가 끝나고 출력시 줄바꿈을 하고 싶지 않을 때 사용

    print(lang1, lang2, lang3, lang4, lang5)

profile("유재석", 20, "Python", "Java", "C", "C++", "C#")
profile("김태호", 25, "Kotlin", "Swift", "", "", "")

# 출력값 :
# 유재석 20 Python Java C C++ C#
# 김태호 25 Kotlin Swift

문제점 1 : 이후 작성에서도 사용 언어가 5개 미만인 경우 계속 “” 변수에 넣어주어야 한다.

문제점 2 : 유재석이 사용할 수 있는 언어가 1개 늘어날 경우, 함수 자체를 바꿔야한다.

해결방법 : 가변인자 사용


2. 가변인자를 이용한 함수 호출

def profile(name, age, *language):
    print("이름 : {0}\t나이 : {1}".format(name, age), end=" ")
    for lang in language:
        print(lang, end=" ")
    print()     # 줄바꿈을 위한 코드

profile("유재석", 20, "Python", "Java", "C", "C++", "C#", "JavaScript")
profile("김태호", 25, "Kotlin", "Swift")

# 출력값 :
# 이름 : 유재석  나이 : 20 Python Java C C++ C# JavaScript
# 이름 : 김태호  나이 : 25 Kotlin Swift


Reference

댓글남기기