ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python 함수 매개변수 앞의 *(Asterisk),**의 의미는 무엇일까?
    데이터분석/python 2020. 11. 13. 18:24
    728x90
    반응형

    *도움이 되셨다면 광고 한번 클릭 부탁드립니다! 제게 큰 힘이됩니다!

     

     

    github나 여러 코드저장소에서 다른 사용자들의 python 코드를 보면 아래와같이 쓰는경우를 많이 봤을것이다.

    위에서의 매개변수가 무엇을 의미하는지에 대해 알아보자.

     

     

    함수의 매개변수 정의 앞에 * 붙어있는 경우

     

     func1 함수의 방법처럼 매개변수 args 앞에 *가 1개가 붙어있는 경우에는 매개변수 args를 가변적인 갯수를 가진 위치 인수로 정의하겠다는 의미이다. 즉, 아래와 같이.

    위와 같이 매개변수를 가변 갯수의 위치 인수로 설정하였기에 임의의 변수들이 출력 된것을 볼수있다.

    그러므로 *args를 사용할때는 특정 변수가 여러개 들어갈수도있는 상황에서 사용하면 될것이다.

     

    함수의 매개변수 정의 앞에 ** 붙어있는 경우

    func2처럼 kwargs앞에 **가 붙어있는 경우에는 매개변수 args를 가변적인 갯수를 가진 인수로 정의하겠다는 의미이다.

     

     

    이번에는 위에서 *가 1개만 붙어있는 경우와 달리 kwargs가 딕셔너리로 전달되었다는것을 알수있다.

     

    딕셔너리 형태로 전달된 키워드 인수 각각을 사용하고 싶다면 함수 내부에서 딕셔너리의 각 요소에 접근하면된다.

     

    for문을 이용해 kwargs.items()함수를 통해 key,val 값을 가져와 출력해주는 것도 가능하다.

     

    728x90
    반응형

    '데이터분석 > python' 카테고리의 다른 글

    내장 순차 자료형 함수 sorted,zip,reversed  (0) 2020.11.13
Designed by Tistory.