[Tim] > >> .... But what if
>> > >> {EXPR!d:FMT} > >> > >> acted like the current > >> > >> EXPR={EXPR:FMT} > >> > >> ? I'd find _that_ useful often. For example, when displaying floats, > >> where the repr is almost never what I want to see. > >> ... [Eric V. Smith <e...@trueblade.com>] > After giving this some more thought, the problem with this approach is > that there's no way to get the repr of the object, which for debugging > can be pretty useful (think strings). Sure there is: f"{repr(var)!d"} would expand to, as a matter of course (nothing special about it): f"{repr(var)={repr(var)}" which would yield, e.g., repr(var)=`a\n' Special shortcuts for calling `repr()` went out of style when Guido got rid of that meaning for the backtick symbol ;-) Remember, by default > object.__format__ calls object.__str__. > Which - since there's already a related default - makes it a Dubious Idea to make some other spelling use a different default. > I guess we could get around this by combining !d and !r and assigning > some meaning to that, which I'd rather not do. > > Or, this occurred to me right before hitting "send": if there's no > format spec, use repr(expr). If there is one (even if it's zero-length), > use format(expr, spec). I'll have to think on that for a while. Maybe > there's too much voodoo going on there. > The alternative: if I want repr,(which I usually don't), make me call "repr()" (which I don't mind at all). If there must be a shortcut, "!dr" or "!rd" are at least cryptically explicit, and {EXPR!dr} would expand to EXPR={repr(EXPR)}
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/