[python] *args 와 **kwargs 의 의미


*args ??


Arguments의 약자이다.

몇개의 인자를 받아야할지 모를 때 사용한다.

def print_params(*args):
    print('args = ', args)
    for param in args:
        print(param)

print_params('Teemo', 'Jinx', 'Rengar')

img_args



**kwargs ??

KeyWord Arguments의 약자이다.

args와 마찬가지로 몇개의 인자를 받아야할지 모를 떄 쓰는데,

KeyWorded 된 Arguments를 인자로 받는다. 예를 들어

(탑 = ‘티모’, 정글 = ‘마스터이’, 원딜 = ‘베인’)

def print_kwargs(**kwargs):
    print('kwargs = ', kwargs)
    print('kwargs.keys() = ', kwargs.keys())
    print('kwargs.values() = ', kwargs.values())

    for key, value in kwargs.items():
        print('key : ', key, ' & value : ', value)

print_kwargs(Top = 'Teemo', Jungle = 'Master Yi', Middle = 'Yasuo', Bottom = 'Vayne', Supporter = 'Blitzcrank')

img_kwargs