Python Default Parameters Tripped Me Up
As we might use default parameters in python functions, such as
def func(inp = ): inp.append(1) return inp
this might cause trouble. Since python functions are objects of a certain identity no matter how many times you run it, the input
inp would be changed with each run.
The better strategy is to use
def func(inp = None): if inp is None: inp =  return inp
For references, please read: Default Parameter Values in Python.