New submission from Zachary Westrick zackzackzackw@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 report@bugs.python.org https://bugs.python.org/issue39574 _______________________________________