Since the discussion about operator choice has completely migrated here, I'll put my note also here. >From the very beginning of PEP 572 discussion I have noticed a strange fact - there is told a lot about visual similarity of "=" and "==" in Python. *Same is told in the PEP 572 (frequently asked question) as the reason for rejection of "=" as operator.*
I realize that currently there are other technical arguments against "=", but I am the opinion that this very reason, namely similarity of "=" and "==", cannot be taken seriously. I'll try to explain: I have opened Notepad++ and went to syntax highlighting configurator. It took me 2 minutes to choose a syntax setup that defines "==" (and other comparison operators if you wish) as a token with custom style. Now I can apply *custom color and size* to it and this alone makes the operator very well seen and different from "=". If that is not enough, I can set different *font* for the operator: so I can basically turn "==" into anything I want. With this in mind, I personally can't understand why you complain about "=="? Ok, you could say - not all editors can do this. But even without that tweaks - I still don't find the problem worth exaggeration. It is not like I accidentally choose very similar names for variables and then spend an hour trying to figure out where is the bug comes from. With "==" it just takes some attention to look at -if- statements and recheck if I write "==" and not "=" where I need comparison. I see it as as a "typo-magnet" but no way as a "bug-magnet" as it was claimed repeatedly in the discussion. A programmer already knows about this similarity and can fix the typos easily. The ":=" operator is of course slightly more different, but still, only _slightly_ better in this regard. With that said, I am not much interested in either adding of the expression assignment, although I am really worrying about the reasoning made about "=" and "==" in the discussion. Hope you get my point here. IMO either the PEP 572 should remove or at least rephrase this point somehow or, even better, concentrate on something more convincing in this regard. Also I think Yury has made good point about the introduction of ":=" -- it would co-exist with the "=". So imo, if you get familiar with ":=", later on it will just cause additional visual noise. And I don't think a regular user will be much interested in nuances of internal implementation of new assignment - they'll just follow the logic of the code and another operator will constantly gain unnecessary attention at reading. Mikhail _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com