I have seen somewhere this usage of a for loop:
def func(seq=None): for i in seq or [1, 2, 3]: print i func([3, 4, 5]) # Will print 3, 4, 5 func()
No! It's the operator priority! or before in… Precedence, §6.15. So seq or [1, 2, 3] is evaluated before entering the loop. And seq is None.
or
in
seq or [1, 2, 3]
None