Why does python output like this? Print is a parameter, while def defines two parameters. How did it pass?

When defining a Python function, the value of the default parameter L is calculated, that is, [], because the default parameter L is also a variable, which points to the object []. If the content of l is changed every time the function is called, the content of the default parameter will also change the next time, and the function definition will no longer be []. Try to modify it.

def? f(a,? L=[]):

l? =? l? Or? []

L. Add (a)

Return? L

Print (f( 1))

Print (f(2))

Print (f(3, [4]))