Error

[Python] *args에 대한 고찰

HUR129 2022. 3. 3. 19:55

 

함수(*args)

에 대한 설명입니다.

 

1. *(args)의 기본 사용.

*args, 혹은 *(아스타리스크) + 자유 변수명 를 함수의 input으로 넣어 주면 함수는 input에 들어오는 인자들을 전부 받아줍니다.

 

def aa(*args):
    print(*args)

aa(1,2,'삼') 
>> 1 2 삼
aa(1,2,'삼','사오')
>> 1 2 삼 사오

aa라는 함수에 들어간 인자들이 전부 받아지고 함수 내부는 이들 결과를 전부 튜플로 묶어서 받아줍니다

 

2. 내가 넣고 싶은 변수와 *arg를 함께 쓰고 싶을때

 

아래와 같은 예시입니다

def aa(epoch, *args):
    print(epoch)
    print(*args)

aa(1,2,'삼')
>>1
  2 삼

epoch / 나머지 input들의 묶음

으로 변수가 분리됩니다

 

주의해야 할 점은 *args 뒤에 내가 특정변수를 추가하는 식으로 나오게 되면 (ex) aa(*args,epoch)

어떤부분까지 *arg이고 어떤부분이 내가 원하는 특정 input변수인지를 몰라서 에러가 발생합니다.