2014-06-08 5 views
1

다음과 같은 대략적인 코드 스 니펫이 있습니다.'key = value'유형 매개 변수에 'key'를 동적으로 전달합니다.

param={'a':1,'b':2} 
for k,v in param.items(): 
    func2(k=v) 

FUNC2과 같이 정의된다 :

func2(**kwargs): 
    print kwargs.get('a',None) 
    print kwargs.get('b',None) 

FUNC2()는이 FUNC2에 K 값을 전달할 value.How있어 대신 전달되는 변수 'K'라고 (** kwargs로) ?

+1

'FUNC2 (PARAM)'. – Christian

+0

@Christian : 'func2 (param)'이 아닙니다. OP가 실제로 만들고 싶어하는 것에 따라 아마도'func2 (** param)'일 것입니다. – user2357112

답변

1

사용 ** operator :

for k, v in param.items(): 
    func2(**{k: v}) 
+0

'func2 (** param)'와 같은 모양입니다 ... – martineau

+1

@martineau, 아니요, 그들은 동등하지 않습니다. 응답의 코드는 주어진'param'에 대해 두 번 호출합니다. 'func2 (a = 1)','func2 (b = 2)'. – falsetru

관련 문제