| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1282,6 +1282,10 @@ Basic customization | |||
| 1282 | 1282 | The __format__ method of ``object`` itself raises a :exc:`TypeError` | |
| 1283 | 1283 | if passed any non-empty string. | |
| 1284 | 1284 | ||
| 1285 | + .. versionchanged:: 3.7 | ||
| 1286 | + ``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather | ||
| 1287 | + than ``format(str(self), '')``. | ||
| 1288 | + | ||
| 1285 | 1289 | ||
| 1286 | 1290 | .. _richcmpfuncs: | |
| 1287 | 1291 | .. method:: object.__lt__(self, other) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -89,6 +89,10 @@ Other Language Changes | |||
| 89 | 89 | a name are now supported. | |
| 90 | 90 | (Contributed by Serhiy Storchaka in :issue:`30024`.) | |
| 91 | 91 | ||
| 92 | + * ``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than | ||
| 93 | + ``format(str(self), '')``. | ||
| 94 | + (Contributed by Serhiy Storchaka in :issue:`28974`.) | ||
| 95 | + | ||
| 92 | 96 | ||
| 93 | 97 | New Modules | |
| 94 | 98 | =========== | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -10,6 +10,9 @@ What's New in Python 3.7.0 alpha 1? | |||
| 10 | 10 | Core and Builtins | |
| 11 | 11 | ----------------- | |
| 12 | 12 | ||
| 13 | + - bpo-28974: ``object.__format__(x, '')`` is now equivalent to ``str(x)`` | ||
| 14 | + rather than ``format(str(self), '')``. | ||
| 15 | + | ||
| 13 | 16 | - bpo-30024: Circular imports involving absolute imports with binding | |
| 14 | 17 | a submodule to a name are now supported. | |
| 15 | 18 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4493,9 +4493,6 @@ static PyObject * | |||
| 4493 | 4493 | object___format___impl(PyObject *self, PyObject *format_spec) | |
| 4494 | 4494 | /*[clinic end generated code: output=34897efb543a974b input=7c3b3bc53a6fb7fa]*/ | |
| 4495 | 4495 | { | |
| 4496 | - PyObject *self_as_str = NULL; | ||
| 4497 | - PyObject *result = NULL; | ||
| 4498 | - | ||
| 4499 | 4496 | /* Issue 7994: If we're converting to a string, we | |
| 4500 | 4497 | should reject format specifications */ | |
| 4501 | 4498 | if (PyUnicode_GET_LENGTH(format_spec) > 0) { | |
@@ -4504,12 +4501,7 @@ object___format___impl(PyObject *self, PyObject *format_spec) | |||
| 4504 | 4501 | self->ob_type->tp_name); | |
| 4505 | 4502 | return NULL; | |
| 4506 | 4503 | } | |
| 4507 | - self_as_str = PyObject_Str(self); | ||
| 4508 | - if (self_as_str != NULL) { | ||
| 4509 | - result = PyObject_Format(self_as_str, format_spec); | ||
| 4510 | - Py_DECREF(self_as_str); | ||
| 4511 | - } | ||
| 4512 | - return result; | ||
| 4504 | + return PyObject_Str(self); | ||
| 4513 | 4505 | } | |
| 4514 | 4506 | ||
| 4515 | 4507 | /*[clinic input] | |
| Back | FazBrowse Home | New Git URL |
0 commit comments