2017-04-19 18 views
-4

, 나는 다음과 같은 기능을 쓴 지시에 따라 kwargs로의 값이 변경되지 않은 이유는Python 3 - ** kwargs 값을 수정할 수 없습니까? 나는 다음과 같은 출력을 얻을</p> <pre><code>def my_dictionary(**kwargs): for i in kwargs.values(): i += 2 return kwargs print(my_dictionary(a=1,b=2)) </code></pre> <p>: 파이썬에서 ** kwargs로의 개념을 연습

{'b': 2, 'a': 1} 

(i += 2)?

+0

이것은'** kwargs'와는 아무런 관련이 없습니다. * 모든 사전 *과 동일한 동작을 보게됩니다. –

+1

@MartijnPieters Ohh 음 ... 모두가 때때로 바보 같은 질문을합니다. – ROBlackSnail

답변

2

귀하의 예제에서 변수 i에 대한 수정 만하고 있습니다. kwargs에 영향을 주어야합니다 :

def my_dictionary(**kwargs): 
    for k in kwargs.keys(): 
     kwargs[k] += 2 
    return kwargs 
+0

예, 근무했습니다. 어떤 이유로 든 10 분 동안 대답을 받아 들일 수 없습니다. – ROBlackSnail