Hi,
I'm a quite fresh python programmer, (6 Month python experience).
Today I found something I absolotly don'nt understand:
given the following function:
def test_effect(class_id=None,class_ids=[]):
if class_id is not None:
if class_id not in class_ids:
class_ids.append(int(class_id))
print class_ids
I observe that the class_ids array is growing when it is called with
different class id's.
I expected class_ids to be [] if the keyword argument is not set, but
it seems to beahve like a static variable if not set.
example:
In [3]: test.test_effect(class_id=1)
[1]
In [4]: test.test_effect(class_id=1)
[1]
In [5]: test.test_effect(class_id=2)
[1, 2]
In [6]: test.test_effect(class_id=2)
[1, 2]
In [7]: test.test_effect(class_id=3)
[1, 2, 3]
Is this an intended python beahviour?
sincerly
- Cornelius
--
http://mail.python.org/mailman/listinfo/python-list