*args
Arguments의 줄인말, args. *args는 여러개의 인자를 함수로 받을때 쓰인다.
def nike(title, *jordan):
print(title)
for x in jordan:
print("I own jordan %d" %x)
nike ("the jordans", 1, 4, 11, 12, 32)
the jordans
I own jordan 1
I own jordan 4
I own jordan 11
I own jordan 12
I own jordan 32
이렇게만 한다면 *arg를 이용할수있다. 그러나 코딩을 하다보면 자연스럽게
nike(*jordan, title)로 순서가 뒤바뀔수도 있다.
def nike(*jordan, title):
print(title)
for x in jordan:
print("I own jordan %d" %x)
nike (1, 4, 11, 12, 32, "the jordans")
결과는 에러나 난다.
Traceback (most recent call last):
File "main.py", line 14, in <module>
nike (1, 4, 11, 12, 32, "the jordans")
TypeError: nike() missing 1 required keyword-only argument: 'title'
아쉽지만 1차원적인 python은 우리가 나열한 변수 의 끝을 모른다. 그럼으로 앞쪽부터 특정 변수를 명시하고, 뒤에 args로 아규먼트를 입력해야한다.