[Python-Dev] py3k: print function treats sep=None and end=None in an unintuitive way
Eric Smith
eric+python-dev at trueblade.com
Tue Apr 8 15:44:02 CEST 2008
Alessandro Guido wrote:
> Can anybody please point me why print('a', 'b', sep=None, end=None) should
> produce "a b\n" instead of "ab"?
> I've read http://docs.python.org/dev/3.0/library/functions.html#print, pep-3105 and some
> ml threads but did not find a good reason justifying such a strange behaviour.
>
> Thanks.
>
> -Alessandro Guido
Because None means 'use the default value'. You probably want:
print('a', 'b', sep='', end='')
>>> import io
>>> s = io.StringIO()
>>> print('a', 'b', end='', sep='', file=s)
>>> s.getvalue()
'ab'
>>>
More information about the Python-Dev
mailing list