【编程基础之Python】10、Python中的运算符
【编程基础之Python】10、Python中的运算符
- Python中的运算符
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
- 运算符总结
Python中的运算符
Python是一门非常流行的编程语言,它支持各种运算符来执行各种操作。这篇文章将详细介绍Python的各种运算符及其使用方法。
算术运算符
算术运算符用于执行基本的数学运算,包括加、减、乘、除和取模等操作。以下是Python支持的算术运算符:
- 加法运算符(+):用于两个数字或字符串的相加。
- 减法运算符(-):用于两个数字的相减。
- 乘法运算符(*):用于两个数字或字符串的相乘。
- 除法运算符(/):用于两个数字的相除,结果为浮点数。
- 整除运算符(//):用于两个数字的整除,结果为整数,也叫地板除。
- 取模运算符(%):用于两个数字的取模操作,即返回两个数相除的余数。
- 指数运算符(**):用于求一个数值的某次幂,也叫幂运算符。
| 运算符 | 描述 | 示例 |
|---|---|---|
| + | 加法 | 3 + 4 = 7 |
| - | 减法 | 7 - 3 = 4 |
| * | 乘法 | 3 * 4 = 12 |
| / | 除法 | 7 / 3 = 2.33333… |
| // | 整除 | 7 // 3 = 2 |
| % | 取模 | 7 % 3 = 1 |
| ** | 指数 | 2 ** 3 = 8 |
以下是算术运算符的案例:
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

赋值运算符
赋值运算符用于给变量或者表达式赋值。Python支持多种赋值运算符,包括简单赋值、加等于赋值、减等于赋值、乘等于赋值、除等于赋值、取模等于赋值、幂等于赋值、整除等于赋值等。以下是一些常见的赋值运算符及其使用方法:
- 简单赋值运算符(=):用于将一个值赋给变量。
- 加等于赋值运算符(+=):用于将右边的值加到左边的变量上,并将结果赋给左边的变量。
- 减等于赋值运算符(-=):用于将右边的值减去左边的变量,并将结果赋给左边的变量。
- 乘等于赋值运算符(*=):用于将右边的值乘以左边的变量,并将结果赋给左边的变量。
- 除等于赋值运算符(/=):用于将左边的变量除以右边的值,并将结果赋给左边的变量。
- 取模等于赋值运算符(%=):用于将左边的变量对右边的值取模,并将结果赋给左边的变量。
- 幂等于赋值运算符(**=):用于将左边的变量幂运算右边的值,并将结果赋给左边的变量。
- 整除等于赋值运算符(//=):用于将左边的变量整除右边的值,并将结果赋给左边的变量。
以下是赋值运算符的案例:
a = 10 # 简单赋值
print(a)
a += 5 # 加等于赋值,等同于 a = a + 5
print(a)
a -= 3 # 减等于赋值,等同于 a = a - 3
print(a)
a *= 2 # 乘等于赋值,等同于 a = a * 2
print(a)
a /= 4 # 除等于赋值,等同于 a = a / 4
print(a)
a **= 3 # 幂等于赋值,等同于 a = a ** 3
print(a)
a //= 2 # 整除等于赋值,等同于 a = a // 2
print(a)
a %= 2 # 取模等于赋值,等同于 a = a % 2
print(a)

比较运算符
比较运算符用于比较两个值,返回一个布尔值(True或False)。以下是Python支持的比较运算符:
- 等于运算符(==):用于检查两个值是否相等,如果相等则返回
True,否则返回False。 - 不等于运算符(!=):用于检查两个值是否不相等,如果不相等则返回
True,否则返回False。 - 大于运算符(>):用于检查左侧的值是否大于右侧的值,如果是则返回
True,否则返回False。 - 小于运算符(<):用于检查左侧的值是否小于右侧的值,如果是则返回
True,否则返回False。 - 大于等于运算符(>=):用于检查左侧的值是否大于或等于右侧的值,如果是则返回
True,否则返回False。 - 小于等于运算符(<=):用于检查左侧的值是否小于或等于右侧的值,如果是则返回
True,否则返回False。
以下是比较运算符的案例:
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

逻辑运算符
逻辑运算符用于比较两个或多个表达式的布尔值,并返回一个布尔值(True或False)。以下是Python支持的逻辑运算符:
- 逻辑与运算符(and):用于检查两个表达式是否都为
True。 - 逻辑或运算符(or):用于检查两个表达式是否至少有一个为
True。 - 逻辑非运算符(not):用于对表达式的值取反,如果条件为假,则返回
True,否则返回False。
以下是逻辑运算符的案例:
x = 5
y = 3
z = 7print(x > y and z > x) # 输出 True
print(x < y or z < x) # 输出 False
print(not x < y) # 输出 True
逻辑运算符的优先级与数学中的运算符优先级不同,需要使用括号来明确优先级。例如,
(x > y) and (z > x)与x > y and z > x的结果是不同的。

位运算符
位运算符是用于对二进制数进行操作的运算符,包括按位与、按位或、按位异或、按位取反等,适用于整数类型数据。下面是Python中的位运算符:
- 按位与运算符(&):参与运算的两个数,对应的二进制位上如果都是1,结果为1,否则为0。
- 按位或运算符(|):参与运算的两个数,对应的二进制位上如果有一个是1,结果为1,否则为0。
- 按位异或运算符(^):参与运算的两个数,对应的二进制位上如果只有一个是1,结果为1,否则为0。
- 按位取反运算符(~):对参与运算的数的二进制位按位取反,0变为1,1变为0。
- 左移运算符(<<):将参与运算的数的二进制位向左移动指定的位数,左移后低位补0。
- 右移运算符(>>):将参与运算的数的二进制位向右移动指定的位数,右移后高位补0或补1(取决于参与运算的数的符号位)。
以下是位运算符的案例:
a = 60
b = 13print(a & b) # 输出12
print(a | b) # 输出61
print(a ^ b) # 输出49
print(~a) # 输出-61
print(a << 2) # 输出240
print(a >> 2) # 输出15

成员运算符
成员运算符用于测试一个值是否在序列中出现。常用的成员运算符有 in 和 not in。
- in:用于判断一个值是否是一个序列的成员,是返回
True,否则返回False。 - not in:用于判断一个值是否不是一个序列的成员,不是返回
True,否则返回False。
以下是成员运算符的案例:
a = [1, 2, 3, 4, 5]print(3 in a) # 输出True
print(6 not in a) # 输出True

身份运算符
身份运算符用于比较两个对象的存储单元,返回布尔值 True 或 False。
以下是 Python 中的身份运算符:
is:判断两个对象是否引用同一存储单元,如果是则返回True,否则返回False。is not:判断两个对象是否引用不同的存储单元,如果是则返回True,否则返回False。
a = 5
b = 5
print(a is b) # 输出Truec = [1, 2, 3]
d = [1, 2, 3]
print(c is d) # 输出False

运算符优先级
在Python中,不同的运算符有不同的优先级,当表达式中含有多个运算符时,Python会按照一定的优先级进行计算。常见运算符的优先级从高到低如下:
| 运算符 | 描述 |
|---|---|
| ** | 指数运算(最高优先级) |
| +x, -x, ~x | 正、负、按位取反运算 |
| *, /, //, % | 乘、除、整除、取模运算 |
| +, - | 加、减运算 |
| <<, >> | 按位左移、按位右移运算 |
| & | 按位与运算 |
| ^ | 按位异或运算 |
| | | 按位或运算 |
| ==, !=, >, >=, <, <= | 比较运算符和成员运算符(左侧优先) |
| =, +=, -=, *=, /=, //=, %=, **= | 赋值运算符和增量赋值运算符(从右向左结合) |
| is, is not | 身份运算符 |
| in, not in | 成员运算符 |
| not | 逻辑非运算符 |
| and | 逻辑与运算符 |
| or | 逻辑或运算符 |
| lambda | lambda表达式(最低优先级) |
运算符总结
本文介绍了Python中常见的运算符,包括算数运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、成员运算符、身份运算符等。在使用运算符时需要注意运算符的优先级和结合性,同时也要注意数据类型的匹配问题。
Python中的运算符不仅可以用于数值类型,还可以用于字符串、列表、元组、字典等复合数据类型。同时,Python还提供了一些特殊的运算符,如三目运算符和链式比较运算符等,方便程序员进行代码的编写和优化。
在实际编程中,合理地使用运算符可以提高代码的效率和可读性,对于Python程序员而言是一个必要的基础知识。
相关文章:
【编程基础之Python】10、Python中的运算符
【编程基础之Python】10、Python中的运算符Python中的运算符算术运算符赋值运算符比较运算符逻辑运算符位运算符成员运算符身份运算符运算符优先级运算符总结Python中的运算符 Python是一门非常流行的编程语言,它支持各种运算符来执行各种操作。这篇文章将详细介绍…...
Android的基础介绍
一、Android介绍 Android是一种基于Linux的自由及开放源代码的操作系统,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。 Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序——…...
用户登录请求100w/每天, JVM如何调优
用户登录请求100w/每天, JVM如何调优 大概可以分为以下8个步骤。 Step1:新系统上线如何规划容量? 1.套路总结 任何新的业务系统在上线以前都需要去估算服务器配置和JVM的内存参数,这个容量与资源规划并不仅仅是系统架构师的随意估算的&am…...
C/C++每日一练(20230306)
目录 1. 判断素数的个数 ☆ 2. 分隔链表 ★★ 3. 数据流的中位数 ★★ 1. 判断素数的个数 在一个数组A中存放100个数据,用子函数判断该数组中哪些是素数,并统计该素数的个数,在主函数中输出该素数的个数。 代码: #includ…...
多线程的创建、Thread类、线程安全、同步、通信
目录 多线程的创建 方式一:继承Thread类 方式二:实现Runnable接口 方式三:JDK 5.0新增:实现Callable接口 Thread的常用方法 线程安全 线程安全问题是什么、发生的原因 线程安全问题案例模拟 线程同步 同步思想概述 方式…...
GraphPad Prism v9.5.1.733 科研绘图软件多语言
GraphPad Prism集生物统计、曲线拟合和科技绘图于一体,其所具有的功能均非常实用和精炼,包括了一些特色的功能,如ROC曲线分析、Bland-Altman分析等;曲线拟合功能是GraphPad Prism8 汉化版超越其他统计软体的制胜法宝,GraphPad Prism8 汉化版的线性/非线性拟合功能使用操作…...
基于intel soc+fpga智能驾驶舱和高级驾驶辅助系统软件设计(三)
虚拟化操作系统介绍 车载平台有逐渐融合的趋势,车载 SoC 的计算性能和应用快速增长,面临着多种应用在 多个显示子系统融合在一起的问题,这就要求平台运行多个操作系统。虚拟化(Virtualization) 技术飞速发展࿰…...
什么?年终奖多发1块钱竟要多缴9.6W的税
对于大多数的工薪阶级来说,目前现行的个人所得税适用于全年累计收入一次性税收优惠。 有可能有的人不理解一次性税收优惠是什么意思,所以这里我首先解释下什么是一次性税收优惠,然后在讲一下为什么明明公司多发了钱,到手反而会更…...
动态绑定右键菜单控件
一、动态绑定右键菜单控件 /// <summary> /// 通过递归获取执行控件 /// </summary> /// <typeparam name"T"></typeparam> /// <param name"c"></param> /// <pa…...
JavaScript基础三、数据类型
零、文章目录 文章地址 个人博客-CSDN地址:https://blog.csdn.net/liyou123456789个人博客-GiteePages:https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee:https://gitee.com/bluecusliyou/TechLearnGithub:https:…...
Python 随机漫步
目录 1. 创建 RandomWalk 类 2. 选择方向 3. 绘制随机漫步图 4. 总结 本篇博客将使用 Python 来 生成随机漫步数据,再使用 Matplotlib 库,将以引人注目的方式将这些数据呈现出来。 随机漫步 顾名思义就是随机走出的步伐,它是这样行…...
Spark SQL优化机制
Spark SQL优化机制Spark SQLCatalyst 优化器逻辑优化物理优化TungstenUnsafe RowWSCGRDD 缺点 : RDD的算子都是高阶函数 ,Spark Core 不知函数内的操作,只能闭包形式发给 Executors, 无法优化 DataFrame 不同点: 数据的表示形式…...
十五、Spring中的八大模式
1 简单工厂模式 BeanFactory的getBean()方法,通过唯一标识来获取Bean对象。是典型的简单工厂模式(静态工厂模式); 2 工厂方法模式 FactoryBean是典型的工厂方法模式。在配置文件中通过factory-method属性来指定工厂方法&#x…...
GrabCut算法、物体显著性检测
图割GraphCus算法。利用颜色、纹理等信息对GraphCut进行改进,形成效果更好的GrabCut算法。 对图像的目标物体和背景建立一个K维的全协方差高斯混合模型。 其中,单高斯模型的概率密度函数用公式表示为: 高斯混合模型可表示为n个单高斯模型的概…...
亚马逊、速卖通、lazada店铺一直不出单,没流量怎么办?
近几年,跨境电商入驻的卖家越来越多,平台的流量越来越分散,导致店铺没有流量没有订单的情况经常发生,因此卖家对店铺的优化尤为主要。 对于亚马逊卖家来说,几乎每天都会问虽然我把我的产品放在货架上,但没…...
深度剖析C语言符号篇
致前行的人: 人生像攀登一座山,而找寻出路,却是一种学习的过程,我们应当在这过程中,学习稳定冷静,学习如何从慌乱中找到生机。 目录 1.注释符号: 2.续接符和转义符: 3.回车与换行…...
【学习总结】ORBSLAM3使用自己相机数据
本文仅用于自己学习总结。本文档记录如何修改ORBSLAM3的接口,用自己的图片和数据。 单目视觉,无IMU,离线数据运行的配置过程 euroc_examples.sh 首先从euroc_examples.sh这个运行指令改。这个文件在最新版的代码中被删掉了,但通…...
C++单例模式实现
目录 1.提出的需求 2.如何定义一个类,使得这个类最多只能创建一个对象? 3.代码 4.小结 C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 1.提出的需求 在架构设计时&am…...
343. 整数拆分
343. 整数拆分 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。示例 2: 输入: n 10 输出: 36…...
SCAFFOLD: Stochastic Controlled Averaging for Federated Learning学习
SCAFFOLD: Stochastic Controlled Averaging for Federated Learning学习背景贡献论文思想算法局部更新方式全局更新方式实验总结背景 传统的联邦学习在数据异构(non-iid)的场景中很容易产生“客户漂移”(client-drift )的现象,这会导致系统的收敛不稳定或者缓慢。…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
