Hi,
For the type name, sometimes, we only get a type (not an instance),
and we want to format its FQN. IMHO we need to provide ways to format
the FQN of a type for *types* and for *instances*. Here is my
proposal:
* Add !t conversion to format string
* Add ":T" format to type.__format__()
* Add "%t" and "%T" formatters to PyUnicode_FromUnicodeV()
* Add a read-only type.__fqn__ property
# Python: "!t" for instance
raise TypeError(f"must be str, not {obj!t}")
/* C: "%t" for instance */
PyErr_Format(PyExc_TypeError, "must be str, not %t", obj);
/* C: "%T" for type */
PyErr_Format(PyExc_TypeError, "must be str, not %T", mytype);
# Python: ":T" for type
raise TypeError(f"must be str, not {mytype!T}")
Open question: Should we also add "%t" and "%T" formatters to the str
% args operator at the Python level?
I have a proof-of-concept implementation:
https://github.com/python/cpython/pull/9251
Victor
Victor
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com