[udemy] python 부트캠프_section 27_ *args, **kwargs

Dreamer ·2022년 9월 12일
0
post-thumbnail

01. 선택적 인수에 기본값 설정하기

def foo(a,b=4, c=6):
    print(a,b,c)

foo(1) #1 4 6
foo(4,9) # 4 9 6
foo(5,c=10)  # 5 4 10
foo(b=5) # typeerror, a가 빠져있으므로 
  • python에서 기본 인자들을 default 값으로 설정해놓을 수 있음. 함수를 불러올 때 이 인자들의 값을 변경할 수 있음.

02. *args : 여러 인수를 갖는 함수 만들기

# *args
def add(*args):
    print(args[0])

    sum = 0
    for n in args:
        sum += n
    return sum

print(add(3,5,6,2,1,7,5,4))
  • args : tuple 형식으로 반환되기에, 각각의 위치를 기반으로 접근이 가능하다.(unlimited positional arguments)
  • 함수 안에 args를 갖게 되면, 반복 실행할 수 있고, 각각의 값으로 원하는 작업이 가능하다.

03. **kwargs: 임의의 숫자 키워드 인수 다루기

  • kwargs : dictionary 형태로 반환한다.
  • {"add" :3, "multiply": 5}
def calculate(n, **kwargs):
    n += kwargs["add"]
    n *= kwargs["multiply"]
    print(n)

calculate(2,add=3,multiply=5)
# quiz
def all_board(a, *args, **kw):
    print(a,args,kw)

all_board(4,7,3,0,x=10,y=64) 
# 4 (7, 3, 0) {'x': 10, 'y': 64}
  • args -> tuple로 모아지고, kw -> dict 모아짐.
profile
To be a changer who can overturn world

0개의 댓글