Hi All,
I have a quick question regarding the modification of global variables within
functions. To illustrate, consider the following toy example:
a={"1": set()}
b=9
def gt(l):
a["1"] = a["1"] | set([l])
When calling this last function and checking the a dictionary, I get:
>>> gt(5)
>>> a
{"1": set([5])}
The set in the dictionary was modified. The question is, why isn't it necessary
to declare a as global within the gt function, as apposed to a case like
def gt2(l):
b=b+l
where I need to declare b as global within the function to avoid:
UnboundLocalError: local variable 'b' referenced before assignment.
I apologize if this question has been answered before.
Thank you.
--
https://mail.python.org/mailman/listinfo/python-list