본문 바로가기
IT/파이썬

파이썬 - 함수 전달인수에 * 가 있다면 멀까?

아래 글 보다 더 잘 설명할 순 없다. 그냥 아래 글에 들어가셔용~~

 

https://sjquant.tistory.com/31?category=797018 

 

파이썬에서 arguments로 *(별표)만 쓴 경우!?

fastapi 의 코드를 보던 중 함수의 arguments 로 *만을 쓴 것을 발견했다. 난생 처음 본 표현법이라서 직접 테스트 해보며 뭔지 알아냈다. ...(생략) def get_param_sub_dependant( *, param: inspect.Parameter,..

sjquant.tistory.com

*를 사용하면 *이후의 arguments들을 keyword arguments로 강제할 수 있다. 예를들어 아래와 같이 정의한 경우에는 recipient와 what을 positional arguments로 사용할 수 없다. 사용할 경우 TypeError가 발생한다.

def tell(sender, *, recipient, what):
    print(f"{sender} told {what} to {recipient}.")
    
    ...
 # 호출 방법, 2번째 부터는 키워드 방식의 호출을 사용해야 한다.
 
 tell("SJ", recipient="her", what="something")

BJ.

문화유산 블로그 글도 이젠 유산으로..

Denis Zagorodniuc 님의 사진, 출처: Pexels