目录
运算符
算数运算符
算数运算符是处理四则运算的符号。
常用的算数运算符
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
+ | 加 | 23.7+12 | 35.7 |
- | 减 | 4.05-1.03 | 3.02 |
* | 乘 | 5*3.6 | 18.0 |
/ | 除 | 9/2 | 4.5 |
% | 求余,即返回除法的余数 | 9%2 | 1 |
// | 取整除,即返回商的整数部分 | 9//2 | 4 |
** | 幂,即返回x的y次方 | 3**2 | 9 |
注意:使用除法(/或//)运算符和求余运算符时,除数不能为0,否则,程序将会出现异常。
赋值运算符
赋值运算符主要用来为变量等赋值。当使用时,可以直接把基本运算符“=”右边的值赋给左边的变量,也可以进行某些变量之后再赋值给左边的变量。
常用的赋值运算符
运算符 | 说明 | 举例 | 展开形式 |
---|---|---|---|
= | 简单的赋值运算 | x=y | x=y |
+= | 加法赋值 | x+=y | x=x+y |
-= | 减法赋值 | x-=y | x=x-y |
*= | 乘法赋值 | x*=y | x=x*y |
/= | 除法赋值 | x/=y | x=x/y |
%= | 取模赋值 | x%=y | x=x%y |
**= | 幂赋值 | x**=y | x=x**y |
//= | 取整除赋值 | x//=y | x=x//y |
误区:不要混淆“=”和“==”号
比较(关系)运算符
比较运算符,也成为关系运算符,用于对变量或表达式的结果进行大小、真假等比较。如果比较结果为真,则返回Ture;如果为假,则返回False。
比较运算符
运算符 | 说明 | 举例 | 结果 |
---|---|---|---|
> | 大于 | 'a'>'b' | False |
< | 小于 | 156<456 | Ture |
== | 等于 | 'c'=='c' | Ture |
!= | 不等于 | 'y'!='t' | Ture |
>= | 大于或等于 | 479>=456 | Ture |
<= | 小于或等于 | 62.89<=28.3 | False |
逻辑运算符
逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍是一个布尔值。
逻辑运算符
运算符 | 含义 | 用法 | 结合方向 |
---|---|---|---|
and | 逻辑与 | op1 and op2 | 左到右 |
or | 逻辑或 | op1 or op2 | 左到右 |
not | 逻辑非 | not op | 右到左 |
使用逻辑运算符进行逻辑运算的结果
A | B | A and B | A or B | not A |
---|---|---|---|---|
Ture | Ture | Ture | Ture | False |
Ture | False | False | Ture | False |
False | Ture | False | False | Ture |
False | False | False | Ture | Ture |
位运算符
位运算符 是把数字看作二进制数来进行计算的,因此需要先将要执行运算的数据转换为二进制,然后才能执行运算。
位运算符 | 含义 | 用法 |
---|---|---|
& | 按位与 | 全1为1,其余为0 |
| | 按位或 | 全0为0,其余为1 |
^ | 按位异或 | 相同(同为1或同为0)时为0,不同为1 |
~ | 按位取反 | 1改成0,0改成1 |
<< | 左移位 | 将一个二进制操作数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的用0补充。左移运算相当于乘以2ⁿ。 |
>> | 右移位 | 将一个二进制操作数向右移动指定的位数,右边(低位端)溢出的位被丢弃,而当左边(高位端)空位时,如果是正数,最高位填入0;如果是负数,最高位填入1。左移运算相当于除以2ⁿ。 |
注意:由于移位运算的速度很快,因此当程序中遇到表达式乘以或除以 2ⁿ的情况时,一般采用移位运算来代替。
运算符的优先级
Python运算符的运算规则是:
优先级高的先执行,优先级低的运算后执行,同一优先级低操作按照从左到右的顺序进行。括号内的运算最先执行。
类型 | 说明 | 优先级 |
---|---|---|
** | 幂 |
|
~、+、- | 取反、正号、负号 | |
*、/、%、// | 算术运算符 | |
+、- | 算术运算符 | |
<<、>> | 左移、右移 | |
& | 按位与 | |
^ | 按位异或 | |
| | 按位或 | |
<、<=、>、>=、!=、== | 比较运算符 |
说明:在编写程序时尽量使用括号“()”来限定运算次序,以免运算次序发生错误。