Python的运算符
算术运算符
这里不是Python的bug,是计算机在计算过程中需要转化为二进制,计算完成后又将结果转化为十进制呈现,所以产生的精准误差
算术运算符总结
1、计算结果是 浮点数 ,即使两个数都是整数,结果也是浮点数
2、 // 与 % 都是 向下取整
3、如果想同时得到 商 和 余数 ,可以用 divmod() 这个方法。该方法的返回值是 tuple(x//y, x%y)
4、浮点数精度的问题可以通过内置模块decimal解决
比较运算符
连续比较:a>b>c --> a>b and b>c 两者都为True才为True
比较运算符总结:
1、int 不能 直接与 str 比较
2、python3 中 不支持 <> 号,如:
3、== 与 != 符号 不能分开 写成 = =
4、str 与 str 之间比较的是 ASCII,并且 逐个比较
5、连续比较,如:a>b>c 可拆解为 a>b and b>c
赋值运算符
依次类推。
赋值运算符总结:
1、赋值:是将等号右边赋值给等号左边
2、python 不支持 a++、a-- 语法
3、+= 等符号 不能分开 写成 + =
逻辑运算符
按位运算符
例子:当a = 80,b = 19时,取二进制
a = 0101 0000
b = 0001 0011
a & b = 0001 0000
a | b = 0101 0011
a ^ b = 0100 0011
成员运算符
in 与 not in 是 Python 独有的运算符(全部都是小写字母),用于判断对象是否某个集合的元素之一,非常好用,并且运行速度很快。返回的结果是布尔值类型的 True 或者 False 。
身份运算符
身份运算符也是 Python 的特色语法(全部都是小写字母)
注意:is 与 == 的区别
is 用于判断两个变量的引用是否为同一个内存地址 (可使用 id() 查看)
== 用于判断两个变量的值是否相等
三目运算符
例子:
a = 5,b = 9
实现,当 a+b>14 执行 a+b,否则执行 b-a
运算符优先级
下表列出了从 最高到最低优先级 的所有运算符。优先级高的运算符优先计算或处理,同级别 的按从 左往右的顺序计算(赋值运算符 除外,它是按从 右往左 的顺序)
作业
作业1
作业2
对位比较,仅比较两个字符串的第一位字符对应的ASCII码值即可 a < x,所以返回True
作业3
if 语句后涉及到运算符优先级的情况
其中先运行temp ==‘Yes’,如果temp为666,那么返回值为False,而字符串’yes’ 的bool值是True,可以转化为 if False or True,结果返回(‘if执行了!’)
作业4
is 与 == 的区别
is 用于判断两个变量的引用是否为同一个内存地址 (可使用 id() 查看)
== 用于判断两个变量的值是否相等
作业5
作业6