Python pack / unpack / *args / **kwargs

jaeha_lee·2022년 5월 4일
0
  • *args

  def func(a,*args):
      # *args 부분은 인자를 tuple로 받겠다는 소리
      # *args는 관례적으로 이름을 이렇게 붙임)
      print(a, args)

  def func2(a,*args,c):
      # 이렇게 하면 c부분은 key word를 통해 호출해야 한다.
      print(a, args)

  # 호출 방법
  func2(1,2,3,c=4) # a =1 *args = (2,3) c= 4 이렇게 들어가게 됨.

  • *kwargs

    def func3(**kwargs):
        # **kwargs는 keyword로만 받는다.
        print(kwargs)
    
    func3(a=10,b=20)
    func3(a=10,20) # error
    

정리하면,
func(args) => tuple로 positional argument 받음
func(
kwargs) => dictionary로 keyword argument 받음

  • 우선 순위 : positional argument >> keyword argument

    def func3(func,*args,*kwargs): # 이 순서로 호출
        print(kwargs)

0개의 댓글

관련 채용 정보