3 ms·
Would've making regular assignment an expression broken too much existing code?
by sluukkonen 8y ago
Would've making regular assignment an expression broken too much existing code?
- icebraining 8y agoProbably not, since expressions can already be statements. But that would allow dangerous code like "if a = 3", which I don't think the Python devs would want to allow.
- sametmax 8y agoIt's a voluntary design choice since the beginning of Python to avoid the very common mistake of doing: while continue = "yes": instead of: while continue == "yes": Those mistakes introduce bugs that are hard to spot because they don't cause an immediate error, linters can hardly help with them and even a senior can make them while being tired.
- bluecalm 8y agoI don't know about linters but GCC warns me about that every time I make that typo. They could just require parenthesis when assignment value is used as boolean.