728x90
반응형
*가 붙어있어서 C언어를 하신 분들은 포인터와 연관시킬 수 있는데, 파이썬에서는 포인터가 아닙니다.
*args : arguments = 함수 인자(arguments)의 값을 받아올 수 있음(튜플)
**kwargs : keyword arguments = 함수 인자의 keyword를 받을 수 있음. 이 keyword로 값을 받을 수 있음(튜플)
def func(*args, **kwargs):
rtn = []
for i in args: # 순자적으로 args의 값들을 가져옴
rtn.append(i)
print('*args=',rtn)
rtn = []
rtn2 = []
for i in kwargs: # 순차적으로 kwargs의 kwyword들을 가져옴
v = kwargs[i] # keyword를 가지고 값을 찾음
rtn.append(i) # keyword
rtn2.append(v) # value
print('**kwargs(keyword)=',rtn,' /**kwargs(value)=',rtn2)
func(1,2,a=3,b=4,c=5)
결과
*args= [1, 2]
**kwargs(keyword)= ['a', 'b', 'c'] /**kwargs(value)= [3, 4, 5]
위 코드에서는 args, kwargs라고 했지만 꼭 이 이름을 사용해야 하는 것이 아니고, *, ** 붙여 사용하면 되는 것입니다.
728x90
반응형
댓글