
On 28 March 2018 at 20:12, Serhiy Storchaka <storchaka@gmail.com> wrote:
28.03.18 22:05, Paul Moore пише
I can't imagine (non-contrived) code where the fact that a is formatted before b is evaluated would matter, so I'm fine with option 3.
If formatting a and evaluating b both raise exceptions, the resulting exception depends on the order.
$ ./python -bb
a = b'bytes' '{}{}'.format(a, b) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'b' is not defined f'{a}{b}' Traceback (most recent call last): File "<stdin>", line 1, in <module> BytesWarning: str() on a bytes instance
Thanks, I hadn't thought of that. But I still say that code that depends on which exception was raised is "contrived". Anyway, Guido said #3, so no reason to debate it any further :-) Paul