On Wed, Nov 24, 2021 at 07:15:58PM -0000, ehmatt...@gmail.com wrote:

> One common error that I haven't seen discussed is bare logical 
> comparisons. They're syntactically legal so they don't raise errors, 
> but I have never seen a real-world use case for one.

You've never used the interactive interpeter? *wink*


You're right, of course, that outside of the REPL it would be very 
unusual, and quite rare, to use `==` for its side-effects. Another usual 
use would be to overload the `==` operator for a DSL.

They might be rare, but they are allowed, and the Python interpreter 
doesn't generally raise warnings for legal expressions used as statement 
just because they *might* be a mistake.

Some compilers and interpreters raise a plethora of warnings, or errors, 
for legal but "weird" code that might be a mistake. But Python's 
interpreter tends to be a lot more easy-going, assuming you know what 
you are doing, and leaves it up to third-party linters. IDEs and code 
checkers to be more opinionated.

Personally, I think that this is the right design. People can pick and 
choose which, if any, linter they use, and how strict they want it to 
be. But I can also understand that some people might want the 
interpreter to also have a built-in linter to flag mistakes.


-- 
Steve
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/FHKSBHHZYLH7AK6ZDC4XUDL4RRVKSNNL/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to