当前位置: 首页 > news >正文

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 语法在设计的时候就进行 了规避, 避免出现这种不直观, 并且容易混淆的语法.

http://www.jsqmd.com/news/83854/

相关文章:

  • 跨境独立站销售助手产品背景
  • 2025广东直播数字人视频矩阵服务商TOP5 评测!佛山等地优质直播数字人视频矩阵公司行业数据市场口碑及选择指南 - 全局中转站
  • 静态综合实验报告
  • [NOIP2017 提高组] 奶酪解题
  • morse
  • Python MATLAB 绘制和弦图,一图看懂实体关系
  • 边缘计算和云计算有什么区别? - 详解
  • 想下载Instagram视频?收藏这一篇就够了!(含在线工具/插件/App推荐)
  • Android16 EDLA 认证测试CTS过程介绍
  • FastGPT多模态知识库实战部署全攻略
  • yowsup项目代码质量保障:pre-commit自动化检查实战指南
  • 【Java毕设源码分享】基于springboot+vue的隔离人员的管理系统设计与实现(程序+文档+代码讲解+一条龙定制)
  • 【无标题】激活函数应该具有哪些特征
  • 哈曼卡顿HK CITATION 500 无线有源音箱拆解过程图解​
  • Gumroad开源项目:打造创作者专属的数字产品销售平台
  • uni-app新手避坑指南:从零开始搭建跨平台应用
  • 终极歌单迁移指南:3步轻松将网易云/QQ音乐歌单转至苹果音乐
  • Neovim状态栏美化终极指南:15款lualine主题快速上手
  • CityPersons数据集终极下载指南:免费获取行人检测训练资源
  • 如何在WPS中快速启用VBA宏功能:完整安装指南
  • Day28:I2C 配置与使用
  • 面向对象编程实验二
  • 深入解析:【图像处理】图片的前向映射与后向映射
  • 小V健身助手开发手记(四):打造专属健康空间——以 PersonContent构建统一风格的个人中心
  • RPCS3完全配置手册:从零开始搭建高性能PS3模拟环境
  • 快手带货公司哪家好,优秀企业推荐 - 速递信息
  • 上海快手代运营公司哪家好,十家优秀企业推荐 - 速递信息
  • 【C++14算法】make_unique
  • 终极指南:Artillery负载测试3分钟快速入门 [特殊字符]
  • Node.js BFF层实战:对接天远综合多头借贷/逾期/欺诈聚合接口