본문 바로가기

Python

python parameter에서 bare *란?

python에서 변수명에 *, **를 붙이면 packing, unpacking이라는 것은 알고있을 것이다.

 

하지만 달랑 * 하나만 있으면 그건 무엇을 의미하는지는 몰랐다.

 

fastapi 문서를 보는 도중에 다음과 같은 표현을 발견했다.

 

검색 키워드는 bare asterisk로 검색했으며, 의미는 * 뒤에 나오는 parameter들은 무조건 key=value형태여야한다는 것이다. 즉, bare *은 뒤에 나오는 parameter들은 전부 named arguments형태를 띄고 있다라고 알려주는 것이다.

 

만약 뒤에 변수명만 넣는다면, 다음과 같은 에러가 나타난다.