news 2026/6/14 20:49:10

Python--运算符

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python--运算符

目录

1.运算符

1.1算数运算符

1.2关系运算符

1.3逻辑运算符

1.4赋值运算符

1.运算符

1.1算数运算符

像 + - * / % ** // 这种进行算术运算的运算符, 称为 算术运算符

注意1: / 中不能用 0 作为除数. 否则会 抛出异常

print(10 / 0)

注意2: 整数 / 整数 结果可能是小数. 而不会截断

注意3: % 不是 "百分数", 而是求余数.

注意4: ** 是求乘方. 不光能算整数次方, 还能算小数次方.

print(4 ** 2) print(4 ** 0.5)

注意5: // 是取整除法(也叫地板除). 整数除以整数, 结果还是整数(舍弃小数部分, 并向下取整. 不是四舍五入)

print(7 // 2) print(-7 // 2)

1.2关系运算符

像 < >= == != 这一系列的运算符称为 关系运算符, 它们是在比较操作数之间的关系.

其中<= 是 "小于等于" >= 是 "大于等于" == 是 "等于" != 是 "不等于"

(1) 如果关系符合, 则表达式返回 True. 如果关系不符合, 则表达式返回 False

a = 10 b = 20 print(a < b) print(a <= b) print(a > b) print(a >= b) print(a == b) print(a != b)

(2)关系运算符不光针对整数/浮点数进行比较, 还能针对字符串进行比较.

a = 'hello' b = 'world' print(a < b) print(a <= b) print(a > b) print(a >= b) print(a == b) print(a != b)

注意: 直接使用 == 或者 != 即可对字符串内容判定相等. (这一点和 C / Java 不同).

字符串比较大小, 规则是 "字典序"

关于字典序: 想象一个英文词典, 上面的单词都是按照字母顺序排列. 如果首个字母相同, 就比较第二个字母. (就 比如著名单词 abandon). 我们认为一个单词在词典上越靠前, 就越小. 越靠后, 就越大.

(3) 对于浮点数来说, 不要使用 == 判定相等.

print(0.1 + 0.2 == 0.3)

注意: 浮点数在计算机中的表示并不是精确的! 在计算过程中, 就容易出现非常小的误差.

print(0.1) print(0.2) print(0.3) print(0.1 + 0.2)

可以看到, 0.1 + 0.2 的结果并非是 0.3 , 而是带了个小尾巴. 虽然这个尾巴非常小了, 但是 == 是锱铢 必较的, 仍然会导致 == 的结果为 False.

正确的比较方式: 不再严格比较相等了, 而是判定差值小于允许的误差范围.

a = 0.1 + 0.2 b = 0.3 print(-0.000001 < (a - b) < 0.000001)

1.3逻辑运算符

像 and or not 这一系列的运算符称为 逻辑运算符.

and 并且. 两侧操作数均为 True, 最终结果为 True. 否则为 False. (一假则假)

or 或者. 两侧操作数均为 False, 最终结果为 False. 否则为 True. (一真则真)

not 逻辑取反. 操作数本身为 True, 则返回 False. 本身为 False, 则返回 True.

a = 10 b = 20 c = 30 print(a < b and b < c) print(a < b and b > c) print(a > b or b > c) print(a < b or b > c) print(not a < b) print(not a > b)

一种特殊写法 a < b and b < c 这个操作等价于 a < b < c . 这个设定和大部分编程语言都不相同.

关于短路求值 和其他编程语言类似, Python 也存在短路求值的规则.

对于 and, 如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.

对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.

1.4赋值运算符

(1) = 的使用 = 表示赋值. 这个我们已经用过很多次了. 注意和 == 区分. = 除了基本的用法之外, 还可以同时针对多个变量进行赋值.

链式赋值 a = b = 10 多元赋值 a, b = 10, 20 交换两个变量 a = 10 b = 20 tmp = a a = b b = tmp 基于多元赋值 a = 10 b = 20 a, b = b, a

2) 复合赋值运算符

Python 还有一些 复合赋值运算符. 例如 += -= *= /= %= 其中 a += 1 等价于 a = a + 1 . 其他复合赋值运算符也是同理.

注意: 像 C++ / Java 中, 存在 ++ -- 这样的自增/自减运算符. Python 中则不支持这种运算. 如果需要使 用, 则直接使用 += 1 或者 -= 1 ++ -- 最大的问题就是容易分不清前置和后置的区别. 这一点 Python 语法在设计的时候就进行 了规避, 避免出现这种不直观, 并且容易混淆的语法.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 6:46:42

【Linux】进程等待与资源回收:父进程的责任

文章目录进程等待与资源回收&#xff1a;父进程的责任一、进程终止方式回顾与深化1.1 回顾&#xff1a;为什么需要进程等待1.2 进程退出的三种方式1.2.1 return退出1.2.2 exit()函数1.2.3 _exit()函数1.3 三种方式的关键区别&#xff1a;缓冲区刷新1.4 退出码的含义二、进程等待…

作者头像 李华
网站建设 2026/6/15 15:10:57

Android16 EDLA 认证测试CTS过程介绍

Android EDLA 认证测试CTS过程介绍 文章目录 Android EDLA 认证测试CTS过程介绍一、前言二、基本环境搭建1、环境说明核心选择原则&#xff08;优先级从高到低&#xff09;2、CTS常用测试命令3、测试结果&#xff08;1&#xff09;CTS完整报告示例&#xff08;2&#xff09;单项…

作者头像 李华
网站建设 2026/6/15 15:10:33

重新定义音乐体验:HyPlayer如何成为网易云音乐的完美替代方案

重新定义音乐体验&#xff1a;HyPlayer如何成为网易云音乐的完美替代方案 【免费下载链接】HyPlayer 仅供学习交流使用 | 第三方网易云音乐播放器 | A Netease Cloud Music Player 项目地址: https://gitcode.com/gh_mirrors/hy/HyPlayer 在数字音乐时代&#xff0c;我们…

作者头像 李华
网站建设 2026/6/15 15:12:13

5步实现基于openpi框架的UR5机械臂AI控制完整指南

5步实现基于openpi框架的UR5机械臂AI控制完整指南 【免费下载链接】openpi 项目地址: https://gitcode.com/GitHub_Trending/op/openpi 工业机器人控制正迎来AI技术革命&#xff0c;传统示教编程难以应对复杂任务变化&#xff0c;而专用AI方案开发周期长、兼容性差。op…

作者头像 李华
网站建设 2026/6/15 15:17:22

终极指南:高效掌握二进制解析的核心技巧

终极指南&#xff1a;高效掌握二进制解析的核心技巧 【免费下载链接】binary-parser A blazing-fast declarative parser builder for binary data 项目地址: https://gitcode.com/gh_mirrors/bi/binary-parser 在现代数据处理领域&#xff0c;二进制解析已经成为处理复…

作者头像 李华
网站建设 2026/6/15 17:08:09

竖屏视频变横屏不损失画质的方法,新手1分钟改变画框

刷到好看的竖屏视频想转横屏视频&#xff1f;用传统工具折腾半天&#xff0c;要么画质糊成马赛克&#xff0c;要么画面比例畸形&#xff0c;甚至裁剪半天还留黑边。光是调整参数、修复画质就要半小时&#xff0c;新手直接被劝退&#xff01;但用影忆&#xff0c;竖屏转横屏全程…

作者头像 李华