*악스!!

18기 이성목·2021년 2월 22일
0
post-thumbnail

*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로 아규먼트를 입력해야한다.

0개의 댓글