About statement vs expression: maybe you, Richard and 2QdxY4RzWzUUiLuE, are right, maybe not. This is hard to say, since the official C documentation is not public and you have to pay a small fee to obtain it.
Anyway, I said "in C, the assignment is a statement that can be used in expression". You're saying "No, in C the assignment IS an expression". I don't see the difference. If the assignment is a statement that can be used as an expression, Python simply forbids that. If in C the assignment is an expression, Python on the contrary treats it as a statement. The only real difference is that Python not only clearly separated the concepts of statement and expression, but also _where_ you can use them, for practical reasons. -- https://mail.python.org/mailman/listinfo/python-list