[Python-Dev] transitioning from % to {} formatting (original) (raw)

Vinay Sajip vinay_sajip at yahoo.co.uk
Thu Oct 1 15:39:04 CEST 2009


Paul Moore <p.f.moore gmail.com> writes:

2. The internal implementation of logger.debug needs to preserve string subclasses properly

But the benefit is that the approach allows anyone to use brace formatting in any API that currently accepts % format (assuming string subclasses don't get mangled). On the one hand, I'd prefer a more general solution. On the other, I'm nervous about that "assuming string subclasses..." proviso.

You're right to be nervous: it's not hard to mangle subtypes.

class mystr(str): pass ... s = mystr("Abc") s 'Abc' type(s) <class '__main__.mystr'> s2 = s.replace("A", "a") s2 'abc' type(s2) <type 'str'>



More information about the Python-Dev mailing list