Default parameter

When I read an article about default parameter in defining and calling a function, I feel confused about its code in an example and couldn’t understand well about the explaination, could anybody help me understand it?
image

It’s normal in [16] and [17] parts, but I just couldn’t understand the [18] part. When the f() executed again, the output is another “###” added to the former output. I just think the In[17] and In[18] should be independent, because there’s no argument in In[18], when calling the function, the “###” should be appended to the default parameter value “”, but actually it’s not true.
Could anybody make it more clarified? Thanks.

There are some good explanations:

Common Gotchas — The Hitchhiker's Guide to Python

I would recommend you to read it :wink: