I assumed that whenever you passed an object into a function, it automatically created a separate copy for you that you could modify without changing the original. However, the following code terminates with this error every time.
>>> testvar = ['a' for a in range(100000)]
>>> def func(arg):
while arg is testvar:
arg.pop()
>>> func(testvar)
Traceback (most recent call last):
File "<pyshell#47>", line 1, in <module>
thing(m)
File "<pyshell#43>", line 3, in thing
obj.pop()
IndexError: pop from empty list