This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author steven.daprano
Recipients docs@python, eric.smith, kcirtsew, serhiy.storchaka, steven.daprano
Date 2020-02-08.00:57:53
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <20200208005747.GH8273@ando.pearwood.info>
In-reply-to <1581078825.2.0.726314602936.issue39574@roundup.psfhosted.org>
Content
On Fri, Feb 07, 2020 at 12:33:45PM +0000, Serhiy Storchaka wrote:
> 
> Serhiy Storchaka <storchaka+cpython@gmail.com> added the comment:
> 
> See a discussion on Python-Dev: https://mail.python.org/archives/list/python-dev@python.org/message/YMIGWRUERUG66CKRJXDXNPCIDHRQJY6V/

I don't know whether the very odd calls 

    str(encoding='spam')
    str(errors='eggs')
    str(encoding='spam', errors='eggs')

are intentional or not. I suspect not: to me, it looks like an accident 
of implementation, not a deliberate feature. Under what circumstances 
would somebody intentionally provide an encoding and error handler when 
they aren't actually going to use them? There may be really unusual 
cases:

    args = () if condition else (mybytes,)
    str = str(*args, encoding='spam')

but I doubt they are going to be either common or something we ought to 
encourage. Regardless of whether we deprecate and remove those three odd 
cases or not, I don't think we should bother documenting them.

If anyone disagrees, and wants to document them, that's okay, but you 
can document them as a separate PR with a separate discussion. Let's 
just fix the confusion over the default encoding here and worry about 
other issues later. Don't let the perfect get in the way of the good 
enough for now :-)
History
Date User Action Args
2020-02-08 00:57:53steven.dapranosetrecipients: + steven.daprano, eric.smith, docs@python, serhiy.storchaka, kcirtsew
2020-02-08 00:57:53steven.dapranolinkissue39574 messages
2020-02-08 00:57:53steven.dapranocreate