mirror of
https://github.com/python/cpython.git
synced 2025-08-08 02:48:55 +00:00
[3.12] gh-109218: Improve documentation for the complex() constructor (GH-119687) (ПР-119805)
* Remove the equivalence with real+imag*1j which can be incorrect in corner
cases (non-finite numbers, the sign of zeroes).
* Separately document the three roles of the constructor: parsing a string,
converting a number, and constructing a complex from components.
* Document positional-only parameters of complex(), float(), int() and bool()
as positional-only.
* Add examples for complex() and int().
* Specify the grammar of the string for complex().
* Improve the grammar of the string for float().
* Describe more explicitly the behavior when real and/or imag arguments are
complex numbers. (This will be deprecated in future.)
(cherry picked from commit ec1ba26460
)
This commit is contained in:
parent
2e31e5695d
commit
207d1b032f
4 changed files with 135 additions and 63 deletions
|
@ -885,14 +885,17 @@ complex.__new__ as complex_new
|
|||
real as r: object(c_default="NULL") = 0
|
||||
imag as i: object(c_default="NULL") = 0
|
||||
|
||||
Create a complex number from a real part and an optional imaginary part.
|
||||
Create a complex number from a string or numbers.
|
||||
|
||||
This is equivalent to (real + imag*1j) where imag defaults to 0.
|
||||
If a string is given, parse it as a complex number.
|
||||
If a single number is given, convert it to a complex number.
|
||||
If the 'real' or 'imag' arguments are given, create a complex number
|
||||
with the specified real and imaginary components.
|
||||
[clinic start generated code]*/
|
||||
|
||||
static PyObject *
|
||||
complex_new_impl(PyTypeObject *type, PyObject *r, PyObject *i)
|
||||
/*[clinic end generated code: output=b6c7dd577b537dc1 input=f4c667f2596d4fd1]*/
|
||||
/*[clinic end generated code: output=b6c7dd577b537dc1 input=ff4268dc540958a4]*/
|
||||
{
|
||||
PyObject *tmp;
|
||||
PyNumberMethods *nbr, *nbi = NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue