运算符 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 返回除法的余数 |
** | 幂次 |
// | 返回商的整数部分 |
小贴士: / 计算结果是 浮点数 ,即使两个数都是整数,结果也是浮点数。 // 与 % 都是 向下取整。 如果想同时得到 商 和 余数 ,可以用 divmod() 这个方法。该方法的返回值是 tuple(x//y, x%y)
浮点数精度会出现如下问题:
>>> In [1]: print(5.4-3) >>> 2.400000000000000412
那么如何解决呢?
from decimal import Decimal num = Decimal('5.4') - Decimal('3') print(num) #运行结果2.412345
也就是说,解决浮点数精度的问题,我们可以导入decimal库解决~
导入模块 import decimal # 导入decimal模块 from decimal import Decimal # 从decimal模块导入Decimal类
比较运算符
运算符 | 描述 |
---|---|
== | 比较值是否相等 |
!= | 比较值是否不相等 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
小贴士: int不能直接与str比较 python3 中 不支持 <> 号,如:2<>3 ==与!=符号不能分开写成== str与str之间比较的是ASCII,并且逐个比较 连续比较,如:a>b>c 可拆解为 a>b and b>c
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | c=a+b |
+= | 加法赋值运算符 | c+=a等效c=c+a |
-= | 减法赋值运算符 | c-=a等效c=-a |
*= | 乘法赋值运算符 | c*=a等效c=c*a |
/= | 除法赋值运算符 | c/=a等效c=c/a |
%= | 取余数赋值运算符 | c%=a等效c=c%a |
**= | 幂赋值运算符 | c**=a等效c=c**a |
//= | 取整数赋值运算符 | c//=a等效c=c//a |
小贴士: 赋值:是将等号右边赋值给等号左边 python 不支持 a++ 、a-- 语法 += 等符号 不能分开 写成 + =
逻辑运算符
运算符 | 表达式 | 描述 |
---|---|---|
and | a and b | 逻辑与,a与b都为True则返回为True |
or | a or b | 逻辑或,a与b只要有一个为True则返回为True |
not | not a | 逻辑非,当a为True,not a则为false |
懒惰原则:
In [1]: print(10 and 20) 20 In [2]: print(10 or 20) 10
位运算符
运算符 | 描述 |
---|---|
& | 按位与:两者都为1才为1,否则为零 |
| | 按位或:只有一个为1则为1,否则为零 |
^ | 按位异或:两者相等则为0,否则为1 |
# 栗子:当 a = 60,b=13 # 取二进制 a = 0011 1100 b = 0000 1101 ------------------ a & b = 0000 1100 a | b = 0011 1101 a ^ b = 0011 0001
成员运算符
in与not in是Python独有的运算符(全部都是小写字母),用于判断对象是否存在于某个集合的元素之一,非常好用,并且运行速度很快。返回的结果是布尔值类型的True或者False。
运算符 | 描述 |
---|---|
in | 判断某个值是否在指定序列中,在则返回True |
not in | 判断某个值是否在指定序列中,不在则返回True |
身份运算符
运算符 | 描述 |
---|---|
is | 判断两个对象的内存地址是否一致,是则返回True |
is not | 判断两个对象的内存地址是否不一致,不是则返回True |
小贴士: 注意:is 与 == 的区别 is 用于判断两个变量的引用是否为同一个内存地址 (可使用 id() 查看) == 用于判断两个变量的值是否相等
三目运算符
python 中的三目运算符表示方法:
True_statements if expression else False_statements1
例如:
a = 1,b = 2 实现,当 a+b>3 执行 a+b,否则执行 b-a
解答:
a=1,b=2 num = a+b if a+b>3 else b-a print(num) 输出:1
运算符优先级
下表列出了从最高到最低优先级的所有运算符。优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值运算符除外,它是按从右往左的顺序)
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
* / % // | 乘 除 取余 整除 |
+ - | 加 减 |
<= <> >= | 比较运算符 |
== != | 比较运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。