说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 二元算术运算符用于执行数学运算,如加法、减法、乘法和除法。
共有以下几种运算符:
运算 | 示例 | 说明 |
---|---|---|
+ |
a+b |
相加 |
- |
a-b |
相减 |
* |
a*b |
乘法 |
/ |
a/b |
除法 |
% |
a%b |
模数(余数) |
// |
a//b |
地板除(整数部分) |
@ |
a@b |
矩阵乘 |
这些二元算术运算符遵循一般的数学运算规则,可以对两个数值类型的操作数进行运算。
# 数值计算
10 + 21 # 31
10 - 21 # -11
10 * 21 # 210
21 / 10 # 2.1
2 ** 3 # 8 表示 2 的 3 次幂
21 % 10 # 1 (取余)
# 地板除 - 操作数的除法,其结果是删除小数点后的商数
# 但如果其中一个操作数为负数,则结果将被保留,即从零(向负无穷大)舍去
9//2 # 4
9.0//2.0 # 4.0
-11//3 # -4
-11.0//3 # -4.0
另见:Python 幂运算符 。
在 Python 中,+ 是加法运算符,用于相加 2 个值。
5 + 2 # 7
在 Python 中,–是减法运算符。它用于从第一个值中减去第二个值。
5 - 2 # 3
*
两个操作数相乘
5 * 2 # 10
在Python中,/是除法运算符。它用于在第一个操作数除以第二个操作数时求商。
5 / 2 # 2.5
//
第一个操作数除以第二个操作数的整数部分。
5 // 2 # 2
第一个操作数除以第二个操作数的余数
5 % 2 # 1
@
用于矩阵乘法, Python 没有内置类型实现此运算符,NumPy 有相关的功能支持。
详见:Python 幂运算符 。
二元运算符放在两个操作数之间,对这两个操作数进行指定的数学运算,并返回结果。
二元算术运算符遵循传统的优先级。 请注意某些此类运算符也作用于特定的非数字类型。 除幂运算符以外只有两个优先级别,一个作用于乘法型运算符,另一个作用于加法型运算符:
m_expr ::= u_expr | m_expr "*" u_expr | m_expr "@" m_expr |
m_expr "//" u_expr | m_expr "/" u_expr |
m_expr "%" u_expr
a_expr ::= m_expr | a_expr "+" m_expr | a_expr "-" m_expr
*
运算符 * (乘) 将输出其参数的乘积。 两个参数或者必须都为数字,或者一个参数必须为整数而另一个参数必须为序列。 在前一种情况下,两个数字将被转换为相同类型然后相乘。 在后一种情况下,将执行序列的重复;重复因子为负数将输出空序列。
此运算可使用特殊的 __mul__()
和 __rmul__()
方法来自定义。
@
运算符 @ (at) 的目标是用于矩阵乘法。 没有内置 Python 类型实现此运算符。
3.5 新版功能.
/
和整除 //
运算符 / (除) 和 // (整除) 将输出其参数的商。 两个数字参数将先被转换为相同类型。 整数相除会输出一个 float 值,整数相整除的结果仍是整数;整除的结果就是使用 'floor' 函数进行算术除法的结果。 除以零的运算将引发 ZeroDivisionError 异常。
此运行可使用特殊的 __truediv__()
和 __floordiv__()
方法来自定义。
%
运算符 % (模) 将输出第一个参数除以第二个参数的余数。 两个数字参数将先被转换为相同类型。 右参数为零将引发 ZeroDivisionError 异常。 参数可以为浮点数,例如 3.14%0.7
等于 0.34 (因为 3.14 等于 4*0.7 + 0.34
)。 模运算符的结果的正负总是与第二个操作数一致(或是为零);结果的绝对值一定小于第二个操作数的绝对值 1。
整除与模运算符的联系可通过以下等式说明: x == (x//y)*y + (x%y)
。 此外整除与模也可通过内置函数 divmod() 来同时进行: divmod(x, y) == (x//y, x%y)
。
除了对数字执行模运算,运算符 % 还被字符串对象重载用于执行旧式的字符串格式化(又称插值)。 字符串格式化句法的描述参见 Python 库参考的 printf 风格的字符串格式化 一节。
取余 运算可使用特殊的 __mod__()
方法来自定义。
整除运算符,模运算符和 divmod() 函数未被定义用于复数。 如果有必要可以使用 abs() 函数将其转换为浮点数。
+
运算符 + (addition) 将输出其参数的和。 两个参数或者必须都为数字,或者都为相同类型的序列。 在前一种情况下,两个数字将被转换为相同类型然后相加。 在后一种情况下,将执行序列拼接操作。
此运算可使用特殊的 __add__()
和 __radd__()
方法来自定义。
-
运算符 - (减) 将输出其参数的差。 两个数字参数将先被转换为相同类型。
此运算可使用特殊的 __sub__()
方法来自定义。
更新时间:2023-09-21 14:57:19 标签:python 算术运算