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

3.python运算符

Python 提供了多种运算符,用于执行算术、比较、逻辑等各种操作。以下是 Python 中常见的运算符类型及其用法:

文章目录

      • 1. 算术运算符
      • 2. 比较运算符
      • 3. 逻辑运算符
      • 4. 赋值运算符
      • 5. 位运算符
      • 6. 成员运算符
      • 7. 身份运算符
      • 8. 运算符优先级

1. 算术运算符

算术运算符用于执行基本的数学运算。

运算符描述示例
+加法x + y
-减法x - y
*乘法x * y
/除法(返回浮点数)x / y
//整除(返回整数商)x // y
%模(取余)x % y
**幂(指数)x ** y

示例:

x = 10
y = 3print(x + y)  # 输出: 13
print(x - y)  # 输出: 7
print(x * y)  # 输出: 30
print(x / y)  # 输出: 3.3333333333333335
print(x // y) # 输出: 3
print(x % y)  # 输出: 1
print(x ** y) # 输出: 1000

2. 比较运算符

比较运算符用于比较两个值,并返回一个布尔值(TrueFalse)。

运算符描述示例
==等于x == y
!=不等于x != y
>大于x > y
<小于x < y
>=大于或等于x >= y
<=小于或等于x <= y

示例:

x = 10
y = 3print(x == y)  # 输出: False
print(x != y)  # 输出: True
print(x > y)   # 输出: True
print(x < y)   # 输出: False
print(x >= y)  # 输出: True
print(x <= y)  # 输出: False

3. 逻辑运算符

逻辑运算符用于组合多个条件表达式,并返回一个布尔值。

运算符描述示例
and逻辑与(所有条件都为真时返回 Truex > 0 and x < 10
or逻辑或(任意一个条件为真时返回 Truex < 0 or x > 10
not逻辑非(取反)not (x == y)

示例:

x = 5
y = 3print(x > 0 and x < 10)  # 输出: True
print(x < 0 or x > 10)   # 输出: False
print(not (x == y))      # 输出: True

4. 赋值运算符

赋值运算符用于将值赋给变量。除了简单的 =,Python 还提供了复合赋值运算符,可以简化某些操作。

运算符描述等价于
=简单赋值x = 5
+=加法赋值x += 3 等价于 x = x + 3
-=减法赋值x -= 3 等价于 x = x - 3
*=乘法赋值x *= 3 等价于 x = x * 3
/=除法赋值x /= 3 等价于 x = x / 3
//=整除赋值x //= 3 等价于 x = x // 3
%=模赋值x %= 3 等价于 x = x % 3
**=幂赋值x **= 3 等价于 x = x ** 3

示例:

x = 5
x += 3  # x = x + 3
print(x)  # 输出: 8x = 10
x //= 3  # x = x // 3
print(x)  # 输出: 3

5. 位运算符

位运算符用于对二进制数进行按位操作。

运算符描述示例
&按位与x & y
``按位或
^按位异或x ^ y
~按位非~x
<<左移x << n
>>右移x >> n

示例:

x = 6  # 二进制: 0110
y = 3  # 二进制: 0011print(x & y)  # 输出: 2 (二进制: 0010)
print(x | y)  # 输出: 7 (二进制: 0111)
print(x ^ y)  # 输出: 5 (二进制: 0101)
print(~x)     # 输出: -7 (二进制: 11111111...1010, 补码表示)
print(x << 1) # 输出: 12 (二进制: 1100)
print(x >> 1) # 输出: 3 (二进制: 0011)

6. 成员运算符

成员运算符用于检查某个值是否在序列(如字符串、列表、元组等)中。

运算符描述示例
in如果值在序列中则返回 True'a' in 'apple'
not in如果值不在序列中则返回 True'b' not in 'apple'

示例:

fruits = ["apple", "banana", "cherry"]print("apple" in fruits)  # 输出: True
print("orange" not in fruits)  # 输出: True

7. 身份运算符

身份运算符用于比较两个对象是否是同一个对象(即它们在内存中的地址是否相同)。

运算符描述示例
is如果两个对象是同一个对象则返回 Truex is y
is not如果两个对象不是同一个对象则返回 Truex is not y

示例:

x = [1, 2, 3]
y = [1, 2, 3]print(x is y)  # 输出: False (虽然内容相同,但它们是不同的对象)
z = x
print(x is z)  # 输出: True (x 和 z 是同一个对象)# 对于不可变对象,Python 可能会重用相同的对象
a = "hello"
b = "hello"
print(a is b)  # 输出: True (Python 优化,字符串常量可能共享同一个对象)

8. 运算符优先级

Python 中的运算符有不同的优先级,决定它们在表达式中先计算哪个部分。以下是从高到低的优先级顺序:

  1. 括号 ()
  2. 指数 **
  3. 正负号 +x, -x
  4. 乘法、除法、取模、整除 *, /, %, //
  5. 加法、减法 +, -
  6. 位移 <<, >>
  7. 按位与 &
  8. 按位异或 ^
  9. 按位或 |
  10. 比较运算符 ==, !=, >, <, >=, <=
  11. 身份运算符 is, is not
  12. 成员运算符 in, not in
  13. 逻辑非 not
  14. 逻辑与 and
  15. 逻辑或 or
  16. 赋值运算符 =, +=, -=, *=, /=, //=, %=, **=

示例:

x = 10 + 3 * 2  # 先计算乘法,再加法
print(x)  # 输出: 16y = (10 + 3) * 2  # 先计算括号内的加法,再乘法
print(y)  # 输出: 26
http://www.lryc.cn/news/504275.html

相关文章:

  • 【竞技宝】CS2-上海major:spirit力克MOUZ niko梦碎
  • 【Leetcode 每日一题】3266. K 次乘运算后的最终数组 II
  • etcd集群常见日志
  • 【漫话机器学习系列】005.神经网络的结构(architecture on the neural network)
  • 基于 Couchbase 数据仓库元数据管理的可行性方案
  • SpringBoot:快速构建微服务应用
  • 汽车嵌入式软件构建高效技术团队的全面思考
  • 【跨库查询、多库查询】.NET开源 ORM 框架 SqlSugar 系列
  • 智能人体安全防护:3D 视觉技术原理、系统架构与代码实现剖析
  • 第24周:文献阅读
  • yolov8 转华为昇腾om脚本
  • 分布式事物XA、BASE、TCC、SAGA、AT
  • 域名信息收集(小迪网络安全笔记~
  • 力扣-图论-13【算法学习day.63】
  • 【设计模式】如何用C++实现观察者模式【发布订阅机制】
  • 【LC】2717. 半有序排列
  • AI智算-k8s部署大语言模型管理工具Ollama
  • CloudberryDB(二) 演化路线图
  • 《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(二)
  • 实现canal监控binlog日志再通过消息队列异步处理
  • Linux DNS 协议概述
  • linux打包qt程序
  • 软考中级-软件设计师通过心路经验分享
  • safe area helper插件
  • 李宏毅机器学习-批次 (batch)和动量(momentum)
  • C# 网络编程--关于UDP 通信(二)
  • 【k8s集群应用】Kubernetes部署安装-二进制部署实例
  • js常见代码输出问题之promise,await,变量提升以及闭包(包括例子以及详细解析)
  • 遗传算法与深度学习实战(27)——进化卷积神经网络
  • 【Vue3】前端使用 FFmpeg.wasm 完成用户视频录制,并对视频进行压缩处理