I'm surprised to see mutable default values not mentioned. It's bitten me more than once to discover that:<p><pre><code> def f(xs = []):
xs.append(5)
return xs
print(f())
print(f())
</code></pre>
will print:<p><pre><code> [5]
[5,5]
</code></pre>
and I love python despite this horrendous decision, but it should be mentioned more often in beginner resources.<p>edit: thanks for the downvote? I've answered on the order of dozens of questions about this very mechanic on SO, via IRC, and more... it's a well-known confusing factor