On Sun, May 05, 2019 at 02:34:27AM +0800, Ronie Martinez wrote: > It does not interfere with modulo operator as modulo follows a different > format: > ``` > a = x % y > ```
Alas, that's not correct, because + and - are both unary operators as well as binary operators, so this: x % + y is ambiguous: x modulo (+y) (x%) plus y > This looks like a small feature but it will surely set Python a level > higher in terms of readability. It definitely does look like a very small feature, but can you demonstrate that it will be better for readability by showing some actual real code that would be improved by this? How often do you hard-code a rate into your program like this? rate = 12.75% I don't see the readability improvement from converting the decimal to a percent in my head once, when I write the code: # think: I want 12.75% so divide by 100 rate = 0.1275 versus having to convert the percent to a decimal in my head every single time I read the code: # read: rate = 12.75% # think: percent operator, not modulo, # so divide by 100, the value must be 0.1275 Percent notation is already ambiguous in real life, which is why mathematicians don't use it. This is fine: discount = sell_price * 20% but what do you expect these to do? price = cost + 20% marked_down_price = price - 15% Aside from the ambiguity with modulo, and the dubious readability improvement, I think this will trip people up when they try to calculate with it. There are two obvious meanings for the above examples: # percent unary operator has low precedence price = (cost + 20)/100 # percent unary operator has high precedence price = cost + (20/100) and neither match what people mean when they say "the price is the cost plus 20 percent". -- Steven _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/