title: Python **kwargs modification in loop
body: <p>When i try to run below program i get error message in the second loop saying 
  second func got multiple values, i expect this program runs in a loop.
  my assumption is Kwargs Rude is not getting updated again with the same value.</p>
  
  <p>Qus1: is kwargs.update(animal = "Lion") is right approch to modify value?</p>
  
  <p>Ques2: why i am getting error message?</p>
  
  <p>This below code is just for Learning purpose, No other intention.
  any help is appreciated.</p>
  
  <p><strong>I use Python 3.6</strong> </p>
  
  <blockquote>
    <p>Error Message Below Second_Func(variable1,**kwargs,Rude="leone")
    TypeError: Second_Func() got multiple values for keyword argument
    'Rude'</p>
  </blockquote>
  
  <pre><code>NiceVar = "Buddy"
  
  def First_Func(variable1,**kwargs):
      for name,value in kwargs.items():
          print("First man",name)
      kwargs.update(animal = "Lion")
      Second_Func(variable1,**kwargs,Rude="leone")
  
  def Second_Func(value1,**kwargs):
      for name,value in kwargs.items():
          print("Second man",value)
      Third_Func(value1,**kwargs,band="martin")
  
  def Third_Func(google,**kwargs):
      for name,value in kwargs.items():
          print("Third man",value)
      print("my Third Function",google)
      First_Func(google,**kwargs)
  
  First_Func(NiceVar,Animal ="man")
  </code></pre>