less than 1 minute read

본 포스팅은 “윤성우의 열혈 파이썬 중급편” 책 내용을 기반으로 작성되었습니다. 잘못된 내용이 있을 경우 지적해 주시면 감사드리겠습니다.

11-1. iterable 객체와 매개변수

function(*iterable): 리스트, 튜플, 문자열(iterable 객체)을 풀어서 전달
function(**iterable): 딕셔너리 값을 풀어서 전달

def out(a, b, c):
    print(a, b, c, sep=', ')

a = [1, 2, 3]
b = (1, 2, 3)
c = 'abc'
d = dict(a=1, b=2, c=3)

out(*a)
out(*b)
out(*c)
out(*d)  # 키가 전달됨
out(**d)  # 값이 전달됨
out(*(d.items()))
(결과) 1, 2, 3
       1, 2, 3
       a, b, c
       a, b, c
       1, 2, 3
       ('a', 1), ('b', 2), ('c', 3)

11-2. 딕셔너리와 매개변수

def function(*args): 값들이 튜플로 묶여서 args로 전달

def out(*args):
    print(args)

out()
out(1)
out(1, 2)
out(1, 2, 3)
(결과) ()
       (1,)
       (1, 2)
       (1, 2, 3)

def function(**args): 전달되는 내용이 딕셔너리로 묶여서 args로 전달

def out(**args):
    print(args)

out()
out(a=1)
out(a=1, b=2)
out(a=1, b=2, c=3)
(결과) {}
       {'a': 1}
       {'a': 1, 'b': 2}
       {'a': 1, 'b': 2, 'c': 3}

*args와 **args를 동시에 둘 수도 있다!

Leave a comment