summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorMichael <216956+mikez@users.noreply.github.com>2022-10-03 22:28:02 (GMT)
committerGitHub <noreply@github.com>2022-10-03 22:28:02 (GMT)
commit07b8e85d0e29bc59a7a7d7d662db500c93980edb (patch)
treed833d08cdd4c706ddc5c5ecb02d4129c6294636a /Python
parent0ea8b925d096629852d1045c2c53ff6ad63199cc (diff)
downloadcpython-07b8e85d0e29bc59a7a7d7d662db500c93980edb.zip
cpython-07b8e85d0e29bc59a7a7d7d662db500c93980edb.tar.gz
cpython-07b8e85d0e29bc59a7a7d7d662db500c93980edb.tar.bz2
gh-96526: Clarify format and __format__ docstrings (gh-96648)
Diffstat (limited to 'Python')
-rw-r--r--Python/bltinmodule.c13
-rw-r--r--Python/clinic/bltinmodule.c.h13
2 files changed, 16 insertions, 10 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 551e4f3..2809b03 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -677,16 +677,19 @@ format as builtin_format
format_spec: unicode(c_default="NULL") = ''
/
-Return value.__format__(format_spec)
+Return type(value).__format__(value, format_spec)
-format_spec defaults to the empty string.
-See the Format Specification Mini-Language section of help('FORMATTING') for
-details.
+Many built-in types implement format_spec according to the
+Format Specification Mini-language. See help('FORMATTING').
+
+If type(value) does not supply a method named __format__
+and format_spec is empty, then str(value) is returned.
+See also help('SPECIALMETHODS').
[clinic start generated code]*/
static PyObject *
builtin_format_impl(PyObject *module, PyObject *value, PyObject *format_spec)
-/*[clinic end generated code: output=2f40bdfa4954b077 input=88339c93ea522b33]*/
+/*[clinic end generated code: output=2f40bdfa4954b077 input=45ef3934b86d5624]*/
{
return PyObject_Format(value, format_spec);
}
diff --git a/Python/clinic/bltinmodule.c.h b/Python/clinic/bltinmodule.c.h
index 0feba57..19930a5 100644
--- a/Python/clinic/bltinmodule.c.h
+++ b/Python/clinic/bltinmodule.c.h
@@ -183,11 +183,14 @@ PyDoc_STRVAR(builtin_format__doc__,
"format($module, value, format_spec=\'\', /)\n"
"--\n"
"\n"
-"Return value.__format__(format_spec)\n"
+"Return type(value).__format__(value, format_spec)\n"
"\n"
-"format_spec defaults to the empty string.\n"
-"See the Format Specification Mini-Language section of help(\'FORMATTING\') for\n"
-"details.");
+"Many built-in types implement format_spec according to the\n"
+"Format Specification Mini-language. See help(\'FORMATTING\').\n"
+"\n"
+"If type(value) does not supply a method named __format__\n"
+"and format_spec is empty, then str(value) is returned.\n"
+"See also help(\'SPECIALMETHODS\').");
#define BUILTIN_FORMAT_METHODDEF \
{"format", _PyCFunction_CAST(builtin_format), METH_FASTCALL, builtin_format__doc__},
@@ -1212,4 +1215,4 @@ builtin_issubclass(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
exit:
return return_value;
}
-/*[clinic end generated code: output=f3da5510745785af input=a9049054013a1b77]*/
+/*[clinic end generated code: output=3c9497e0ffeb8a30 input=a9049054013a1b77]*/