*args

- 여러개의 파라미터를 받는 키워드 (arguments의 약자)

- 튜플형태 ( )

def args_func(*args):
    print(args);
    
>>> args_func('hi', 1, 2, 3);
('hi', 1, 2, 3)


def args_func2(*args):
    for i,v in enumerate(args):
        print(i, ':', v);
        
>>> args_func2('hi', 1, 2, 3);
0 : hi
1 : 1
2 : 2
3 : 3

**kwargs

- 여러개의 key&value 쌍을 받는 키워드 (keyword arguments의 약자)

- 딕셔너리 형태 { key : value }

def kwargs_func(**kwargs):
    print(kwargs);
    
>>> kwargs_func(name1=1, name2='hi')
{'name1': 1, 'name2': 'hi'}


def kwargs_func2(**kwargs):
    for k,v in kwargs.items():
        print(k, ':', v);
        
>>> kwargs_func2(name1=1, name2='hi')
name1 : 1
name2 : hi