[Python-Dev] Backporting PEP 3101 to 2.6
Eric Smith
eric+python-dev at trueblade.com
Fri Jan 11 16:39:04 CET 2008
Nick Coghlan wrote:
> Guido van Rossum wrote:
>> For data types whose output uses only ASCII, would it be acceptable if
>> they always returned an 8-bit string and left it up to the caller to
>> convert it to Unicode? This would apply to all numeric types. (The
>> date/time types have a strftime() style API which means the user must
>> be able to specifiy Unicode.)
>
> To elaborate on this a bit (and handwaving a lot of important details
> out of the way) do you mean something like the following for the builtin
> format?:
>
> def format(obj, fmt_spec=None):
> if fmt_spec is None: fmt_spec=''
> result = obj.__format__(fmt_spec)
> if isinstance(fmt_spec, unicode):
> if isinstance(result, str):
> result = unicode(result)
> return result
That's the approach I'm taking. The builtin format is the only caller
of __format__ that I know of, so it's the only place this would need to
be done.
More information about the Python-Dev
mailing list