Python基础:第 03 篇 · 运算符:加减乘除之外的那些操作 文章目录专栏导读第 03 篇 · 运算符加减乘除之外的那些操作本篇目标一、算术运算符实战用途二、比较运算符链式比较Python 特色三、逻辑运算符返回值陷阱四、赋值运算符海象运算符 :Python 3.8五、成员运算符 身份运算符六、运算符优先级从高到低常见坑本篇小结练习题总结专栏导读本文已收录于《30天学习Python从入门到精通》本专栏专门针对于零基础和需要重新复习巩固的同学所准备的一套基础班教学从0基础到精通Python轻松掌握Python欢迎各位同学订阅专栏订阅地址点我直达此外如果您已工作如需利用Python解决办公中常见的问题欢迎订阅《Python办公自动化》专栏订阅地址点我直达第 03 篇 · 运算符加减乘除之外的那些操作作者小庄学Python 系列《Python基础大全》 · 30 篇从零到能写项目本篇目标掌握 7 类运算符的用法理解/和//、**的区别学会用海象运算符简化代码搞懂运算符优先级告别乱加括号一、算术运算符运算符含义示例结果加10 313-减10 - 37*乘10 * 330/除结果是小数10 / 33.333...//整除向下取整10 // 33%取余10 % 31**幂2 ** 101024print(10/4)# 2.5 ← 注意除法永远得到 floatprint(10//4)# 2print(10%4)# 2print(2**0.5)# 1.4142... 开平方print(-7//3)# -3 ← 向下取整不是 -2实战用途# 判断奇偶num17print(奇数ifnum%2else偶数)# 拆解时分秒total_seconds3725minutes,secondsdivmod(total_seconds,60)# (62, 5)hours,minutesdivmod(minutes,60)# (1, 2)print(f{hours}小时{minutes}分{seconds}秒)# 1小时2分5秒divmod(a, b)一次性返回(商, 余数)比写两遍方便。二、比较运算符结果是布尔值True/False。运算符含义等于!不等于大于 / 小于大于等于 / 小于等于print(33.0)# True ← 数值相等即可类型不同没关系print(aA)# False ← 字符串区分大小写print([1,2][1,2])# True ← 列表比值链式比较Python 特色age20print(18age60)# True# 等价于 18 age and age 60但 Python 允许连写三、逻辑运算符运算符含义特点and与两边都为真才真or或有一个为真就真not非取反短路求值and左边为假右边就不执行or左边为真右边不执行。# 短路的实用写法避免除零错误x0print(x!0and10/x1)# False右边根本没执行返回值陷阱and/or返回的不是布尔值而是某个操作数本身print(3and5)# 5print(0and5)# 0print(3or5)# 3print(or默认)# 默认所以有这个经典用法nameinput(请输入名字)or匿名用户用户直接回车就用默认值一行搞定。四、赋值运算符x10x5# 等价于 x x 5 → 15x-3# 12x*2# 24x/4# 6.0x//2# 3.0x%2# 1.0x**3# 1.0海象运算符:Python 3.8在表达式里同时赋值和使用# 老写法nlen(data)ifn10:print(f数据太多了{n}条)# 海象写法if(n:len(data))10:print(f数据太多了{n}条)常用于while循环里读取输入while(line:input(输入内容q退出))!q:print(f你输入了{line})五、成员运算符 身份运算符# in / not in判断元素在不在容器里print(ainabc)# Trueprint(3in[1,2,3])# Trueprint(namein{name:小庄})# True 字典查的是 key# is / is not判断是不是同一个对象a[1,2]b[1,2]print(ab)# True 值相等print(aisb)# False 不是同一个对象print(aisNone)# 判断 None 用 is这是唯一推荐场景规则比值用比 None 用is。其他情况别用is。六、运算符优先级从高到低优先级运算符1**2* / // %3 -4比较运算符5not→and→or记不住就加括号代码是给人看的result(ab)*c/(d-e)常见坑坑说明10 / 3得到小数要整数结果用//-7 // 3是-3向下取整不是向零取整a and b返回的可能不是布尔值返回的是操作数本身用is比较数字/字符串小整数有缓存会误判用# 小整数缓存的诡异现象a256b256print(aisb)# True缓存范围内a257b257print(aisb)# False超出缓存不同对象所以别用is比大小。本篇小结除法/永远返回 float整除用//and/or有短路特性返回的是操作数不是布尔值in查成员is只用来判断None优先级记不住就加括号练习题输入一个三位数输出它的百位、十位、个位用//和%。判断年份是否为闰年能被 400 整除或能被 4 整除但不能被 100 整除。用海象运算符改写读取用户输入长度超过 5 就打印长度和内容。下一篇字符串——用得最多的数据类型方法多到记不完。总结希望对初学者有帮助致力于办公自动化的小小程序员一枚希望能得到大家的【一个免费关注】感谢求个 关注 此外还有办公自动化专栏欢迎大家订阅Python办公自动化专栏求个 ❤️ 喜欢 ❤️此外还有爬虫专栏欢迎大家订阅Python爬虫基础专栏求个 收藏 此外还有Python基础专栏欢迎大家订阅Python基础学习专栏