I have spent quite a bit of time trying to find the answer on this group, but I've been unsuccessful. Here is what I'd like to be able to do:
def A(**kwargs): kwargs['eggs'] = 1 def B(**kwargs): print(kwargs) def C(**kwargs): A(**kwargs) B(**kwargs) I'd like to be able to make a call like: C(spam=0) and have it print {'spam': 0, 'eggs': 1} But it doesn't do that. Instead, it gives {'spam': 0} I was under the impression that kwargs is passed by reference and, since I'm only modifying it (rather than making it point to something else) that the changes would be reflected back out to the thing being passed in. So, why doesn't this work the way I expect it to? And, is there some other way to make this work to accomplish the same goal? Thank you in advance, Aaron -- http://mail.python.org/mailman/listinfo/python-list