You can keep away from that with some additional logic. One of the ways is this:
You can keep away from the problem:
>>> def f(value, seq=[]):
... seq.append(value)
... return seq
with some additional logic:
>>> def f(value, seq=None):
... if seq is None:
... seq = []
... seq.append(value)
... return seq
Shorter version:
>>> def f(value, seq=None):
... if not seq:
... seq = []
... seq.append(value)
... return seq
The result:
>>> f(value=2)
[2]
>>> f(value=4)
[4]
>>> f(value=8)
[8]
>>> f(value=16)
[16]