*x = 1, 2, 3, 4
=> x에 [1,2,3,4] 리스트 형태로 들어간다.
x, *y = 1, 2, 3, 4 => x에는 1, y에는 [2, 3, 4]가 들어간다.
def func(*args):
func(*list)
, func(*tuple)
로 딕셔너리가 아닌 iterable 객체를 언패킹 연산자를 사용해서 담으면 tuple로 들어간다.args = (1,2,3)
tuple 형식으로 들어간다.def func(*args):
print(args)
lst = [1, 2, 3]
tupl = (1, 2, 3)
func(*lst)
'''
(1, 2, 3)
'''
func(*tupl)
'''
(1, 2, 3)
'''
func(1, 2, 3)
'''
(1, 2, 3)
'''
def func(**kwargs):
함수에 func(**딕셔너리) 형태로 담으면 kwargs가 딕셔너리 형식으로 들어간다.
func(key1 = 'value1', key2 = 'value2') 형태로 담으면 딕셔너리 형태로 담기는데 key는 식별자 이름이니까 ' '를 안해줘도 된다. 그 대신 key는 무조건 문자열 형태로만 담기게 된다.
정수로 적으면 에러가 발생!
def func(**kwargs):
for key in kwargs:
print(key,kwargs[key])
dic = {'1' : '윤혁', '2' : '태이', '3' : '서희'}
func(**dic)
''' 딕셔너리를 ** 언패킹 연산자 2개를 사용해서 담을 수 있다.
1 윤혁
2 태이
3 서희
'''
func(a = '윤혁', b = '강현', c = '두산')
''' a, b, c는 key로 사용되는데 ''를 안씌워줘야 한다. 정수형태는 불가능!
a 윤혁
b 강현
c 두산
'''
print([1,2,3]) # => [1, 2, 3]
이런 식으로 프린트되는 걸 괄호를 지우고 싶을 때
언패킹 연산자를 활용한다.
print(*[1,2,3]) # => 1 2 3
list를 지우고 출력한다.