目录
什么是运算符?
运算符是用来进行计算的符号
---------------------------------------------------------------------------------------------------------------------------------
运算符的种类及具体例子
算数运算符
| 符号 | 作用 |
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| // | 整除 |
| % | 取余数 |
| ** | 指数 |
| () | 提高运算的优先级 |
混合运算的优先级:() > ** > *、/、//和% > +和-
下面是在 python 控制台中进行算数运算的实例
至于最后一行的 1-1.23 的结果显示有误差的原因,简单来说这是电脑的二进制的运算造成的。详细的解释可以看这篇文章:
python - 为什么浮点数运算会产生误差 - 疯狂的技术宅 - SegmentFault 思否
赋值运算符
| = | 赋值 | 将=右侧的结果给到左边的变量 |
赋值是将等号右边的数据(优先级较高)给到等号左边的变量(优先级较低)。
常见的形式就是
num = 1
这是典型的单个变量的赋值。
那能不能进行多个变量的赋值呢?当然可以
形式为:
变量1, 变量2, 变量3 = 值1, 值2, 值3
注意,将数据赋值给变量是一一对应的,也就是说等号右边的第一个值赋给等号左边第一个变量(从左往右数)
当然也可以将一个值赋给多个变量
变量1 = 变量2 = 变量3 = 值
这个也不难理解,根据“赋值是将等号右边的数据(优先级较高)给到左边的变量(优先级较低)”这句话,该代码的运行就是先将值赋给变量3,然后将变量3中存的值赋给变量2,最后在赋给变量1。最终结果就显示为变量123都具有一样的值(多个变量也是一样的过程)。
但是不可以用这种形式将多个值赋给同一个变量,这是因为一个确定的数值是不可能给到另一个确定的数的。
复合赋值运算符
| += | 加法赋值运算符 | 先将等号右边的值与左边的值相加,再将加好的结果赋值给变量(a += b等价于 a = a + b) |
| -= | 减法赋值运算符 | 先将等号右边的值与左边的值相减,再将减好的结果赋值给变量(a -= b等价于 a = a - b) |
| *= | 乘法赋值运算符 | 先将等号右边的值与左边的值相乘,再将乘好的结果赋值给变量(a *= b等价于 a = a * b) |
| /= | 除法赋值运算符 | 先将等号右边的值与左边的值相除,再将除好的结果赋值给变量(a /= b等价于 a = a / b) |
| //= | 整除赋值运算符 | 先将左边的值整除等号右边的值,再将结果赋值给变量(a //= b等价于 a = a // b) |
| %= | 取余赋值运算符 | 先将等号左边的值对右边的值取余,再将结果赋值给变量(a %= b等价于 a = a % b) |
| **= | 指数赋值运算符 | 先将等号左边的值为底数,右边的值为指数,再将结果赋值给变量(a **= b等价于 a = a ** b) |
注意等号左边的变量必须要有值才可以进行复合运算符的计算,这就是表格中为什么要强调“左边的值”的原因。
举例:
a = 12
a += 12
print(a)

结果显示为24。
那如果赋值运算符右边不是数值而是运算式呢?复合赋值运算符的执行优先级是小于算数运算符的优先级的,也就是说是先算数,再进行复合赋值。
举个简单的例子:
a = 12
a += 2 * 2
print(a)
如果程序不是先算数后复合赋值的话,那么结果应该为28,但是真正在python中运行时,其结果为16.

比较运算符
比较运算符通常用来判断,与后面的if条件语句有较大的联系。
| == | 判断是否相等,如果是,则为条件结果为真,反之为假 |
| != | 判断是否不等,如果是,则为条件结果为真,反之为假 |
| > | 判断是否大于,如果是,则为条件结果为真,反之为假 |
| < | 判断是否小于,如果是,则为条件结果为真,反之为假 |
| >= | 判断是否大于等于,如果是,则为条件结果为真,反之为假 |
| <= | 判断是否小于等于,如果是,则为条件结果为真,反之为假 |
比较运算符返回的结果是布尔型的数据,也就是True和False。
逻辑运算符
| and | “与” | x and y | 都真才真 |
| or | “或” | x or y | 都假才假 |
| not | “非” | not x | 取反,若x为真,则not x 返回假 |
逻辑运算符具有连接多个判断语句的作用,同电路中的“与门”、“或门”和“非门”作用类似。
719

被折叠的 条评论
为什么被折叠?



