On 5/11/18 5:12 PM, Angus Hollands wrote:

*Readability:*
A smaller point is that I don't feel that ":=" is very readable. If we
had to use an operator, I think $= is better, but me reasoning for this
is weak. I think it derives from my observation that ":=" is slow to
distinguish from "=".

:= would prevent you from using assignment expressions inside f-strings, which could be argued is a good thing.

To demonstrate, and just for giggles, this works in 3.6, and appears to have the desired behavior:

--------------------------
class X:
    def __init__(self, value):
        self.value = value
    def __str__(self):
        return str(self.value)
    def __format__(self, fmt):
        assert fmt[0] == '='
        self.value = eval(fmt[1:])
        return ''

x = X(3)
print(x)
f'{x:=4}'   # Behold!
print(x)
--------------------------

Produces:
3
4

I kid, of course.

Eric
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to