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 serhiy.storchaka
Recipients eric.smith, serhiy.storchaka, vstinner
Date 2018-09-08.10:49:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1536403768.97.0.56676864532.issue34595@psf.upfronthosting.co.za>
In-reply-to
Content
I think we need to handle only two cases: short and fully qualified names. __qualname__ without __module__ doesn't make sense, and the value of tp_name depends on implementation details (is it Python class or builtin class, heap class or dynamic class?). Maybe use %t and %T?

But we may want to support formatting the name of the type itself and the name of the object's type. This give us 4 variants.

For old string formatting we can introduce new % codes (with possible modifiers). But in modern string formatting "T" can have meaning for some types (e.g. for datetime). We can implement __format__ for the type type itself (though it can cause confusion if cls.__format__() is different from cls.__format__(instance)), but for formatting the name of  the object's type (as in your original proposition) we need to add a new  conversion flag like "!r".
History
Date User Action Args
2018-09-08 10:49:28serhiy.storchakasetrecipients: + serhiy.storchaka, vstinner, eric.smith
2018-09-08 10:49:28serhiy.storchakasetmessageid: <1536403768.97.0.56676864532.issue34595@psf.upfronthosting.co.za>
2018-09-08 10:49:28serhiy.storchakalinkissue34595 messages
2018-09-08 10:49:28serhiy.storchakacreate