New submission from Zachary Westrick <zackzackza...@gmail.com>:

The docstring for the str() builtin reads

str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.

The statement "encoding defaults to sys.getdefaultencoding()." implies that the 
encoding argument defaults to sys.getdefaultencoding(), which would typically 
mean that 

str(X, encoding=sys.getdefaultencoding()) == str(X)

However, this is not the case

str(b'mystring', encoding=sys.getdefaultencoding()) -> 'mystring'
str(b'mystring') -> "b'mystring'"

It seems that the phrase "encoding defaults" is not referring to the argument 
named encoding.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue39574>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to