PyNumber_Check
(
PyObject
*o
)
¶
返回
1
if the object
o
provides numeric protocols, and false otherwise. This function always succeeds.
PyNumber_Add
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of adding
o1
and
o2
,或
NULL
on failure. This is the equivalent of the Python expression
o1
+
o2
.
PyNumber_Subtract
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of subtracting
o2
from
o1
,或
NULL
on failure. This is the equivalent of the Python expression
o1
-
o2
.
PyNumber_Multiply
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of multiplying
o1
and
o2
,或
NULL
on failure. This is the equivalent of the Python expression
o1
*
o2
.
PyNumber_MatrixMultiply
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of matrix multiplication on
o1
and
o2
,或
NULL
on failure. This is the equivalent of the Python expression
o1
@
o2
.
3.5 版新增。
PyNumber_FloorDivide
(
PyObject
*o1
,
PyObject
*o2
)
¶
Return the floor of o1 divided by o2 ,或 NULL on failure. This is equivalent to the “classic” division of integers.
PyNumber_TrueDivide
(
PyObject
*o1
,
PyObject
*o2
)
¶
Return a reasonable approximation for the mathematical value of o1 divided by o2 ,或 NULL on failure. The return value is “approximate” because binary floating point numbers are approximate; it is not possible to represent all real numbers in base two. This function can return a floating point value when passed two integers.
PyNumber_Remainder
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the remainder of dividing
o1
by
o2
,或
NULL
on failure. This is the equivalent of the Python expression
o1
%
o2
.
PyNumber_Divmod
(
PyObject
*o1
,
PyObject
*o2
)
¶
见内置函数
divmod()
。返回
NULL
on failure. This is the equivalent of the Python expression
divmod(o1,
o2)
.
PyNumber_Power
(
PyObject
*o1
,
PyObject
*o2
,
PyObject
*o3
)
¶
见内置函数
pow()
。返回
NULL
on failure. This is the equivalent of the Python expression
pow(o1,
o2,
o3)
,其中
o3
is optional. If
o3
is to be ignored, pass
Py_None
in its place (passing
NULL
for
o3
would cause an illegal memory access).
PyNumber_Negative
(
PyObject
*o
)
¶
Returns the negation of
o
on success, or
NULL
on failure. This is the equivalent of the Python expression
-o
.
PyNumber_Positive
(
PyObject
*o
)
¶
返回
o
on success, or
NULL
on failure. This is the equivalent of the Python expression
+o
.
PyNumber_Absolute
(
PyObject
*o
)
¶
Returns the absolute value of
o
,或
NULL
on failure. This is the equivalent of the Python expression
abs(o)
.
PyNumber_Invert
(
PyObject
*o
)
¶
Returns the bitwise negation of
o
on success, or
NULL
on failure. This is the equivalent of the Python expression
~o
.
PyNumber_Lshift
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of left shifting
o1
by
o2
on success, or
NULL
on failure. This is the equivalent of the Python expression
o1
<<
o2
.
PyNumber_Rshift
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of right shifting
o1
by
o2
on success, or
NULL
on failure. This is the equivalent of the Python expression
o1
>>
o2
.
PyNumber_And
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the “bitwise and” of
o1
and
o2
on success and
NULL
on failure. This is the equivalent of the Python expression
o1
&
o2
.
PyNumber_Xor
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the “bitwise exclusive or” of
o1
by
o2
on success, or
NULL
on failure. This is the equivalent of the Python expression
o1
^
o2
.
PyNumber_Or
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the “bitwise or” of
o1
and
o2
on success, or
NULL
on failure. This is the equivalent of the Python expression
o1
|
o2
.
PyNumber_InPlaceAdd
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of adding
o1
and
o2
,或
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
+=
o2
.
PyNumber_InPlaceSubtract
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of subtracting
o2
from
o1
,或
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
-=
o2
.
PyNumber_InPlaceMultiply
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of multiplying
o1
and
o2
,或
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
*=
o2
.
PyNumber_InPlaceMatrixMultiply
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of matrix multiplication on
o1
and
o2
,或
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
@=
o2
.
3.5 版新增。
PyNumber_InPlaceFloorDivide
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the mathematical floor of dividing
o1
by
o2
,或
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
//=
o2
.
PyNumber_InPlaceTrueDivide
(
PyObject
*o1
,
PyObject
*o2
)
¶
Return a reasonable approximation for the mathematical value of o1 divided by o2 ,或 NULL on failure. The return value is “approximate” because binary floating point numbers are approximate; it is not possible to represent all real numbers in base two. This function can return a floating point value when passed two integers. The operation is done in-place when o1 supports it.
PyNumber_InPlaceRemainder
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the remainder of dividing
o1
by
o2
,或
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
%=
o2
.
PyNumber_InPlacePower
(
PyObject
*o1
,
PyObject
*o2
,
PyObject
*o3
)
¶
见内置函数
pow()
。返回
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
**=
o2
when o3 is
Py_None
, or an in-place variant of
pow(o1,
o2,
o3)
otherwise. If
o3
is to be ignored, pass
Py_None
in its place (passing
NULL
for
o3
would cause an illegal memory access).
PyNumber_InPlaceLshift
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of left shifting
o1
by
o2
on success, or
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
<<=
o2
.
PyNumber_InPlaceRshift
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the result of right shifting
o1
by
o2
on success, or
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
>>=
o2
.
PyNumber_InPlaceAnd
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the “bitwise and” of
o1
and
o2
on success and
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
&=
o2
.
PyNumber_InPlaceXor
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the “bitwise exclusive or” of
o1
by
o2
on success, or
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
^=
o2
.
PyNumber_InPlaceOr
(
PyObject
*o1
,
PyObject
*o2
)
¶
Returns the “bitwise or” of
o1
and
o2
on success, or
NULL
on failure. The operation is done
in-place
when
o1
supports it. This is the equivalent of the Python statement
o1
|=
o2
.
PyNumber_Long
(
PyObject
*o
)
¶
返回
o
converted to an integer object on success, or
NULL
on failure. This is the equivalent of the Python expression
int(o)
.
PyNumber_Float
(
PyObject
*o
)
¶
返回
o
converted to a float object on success, or
NULL
on failure. This is the equivalent of the Python expression
float(o)
.
PyNumber_Index
(
PyObject
*o
)
¶
返回
o
converted to a Python int on success or
NULL
采用
TypeError
引发异常当故障时。
PyNumber_ToBase
(
PyObject
*n
, int
base
)
¶
返回整数
n
converted to base
base
as a string. The
base
argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned string is prefixed with a base marker of
'0b'
,
'0o'
,或
'0x'
, respectively. If
n
is not a Python int, it is converted with
PyNumber_Index()
首先。
PyNumber_AsSsize_t
(
PyObject
*o
,
PyObject
*exc
)
¶
返回
o
converted to a Py_ssize_t value if
o
can be interpreted as an integer. If the call fails, an exception is raised and
-1
被返回。
若
o
can be converted to a Python int but the attempt to convert to a Py_ssize_t value would raise an
OverflowError
, then the
exc
argument is the type of exception that will be raised (usually
IndexError
or
OverflowError
)。若
exc
is
NULL
, then the exception is cleared and the value is clipped to
PY_SSIZE_T_MIN
for a negative integer or
PY_SSIZE_T_MAX
for a positive integer.