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

python中的常见运算符

文章目录

  • 算数运算符
  • 赋值运算
  • 关系运算符
  • 逻辑运算符
  • 非布尔值的与或非运算
  • 条件运算符(也叫三元运算符)
  • 运算符的优先级

算数运算符

+ 加法运算符(如果两个字符串之间进行加法运算,则会进行拼串操作)
- 减法运算符
* 乘法运算符(如果将字符串和数字相乘,则会对字符串进行复制操作,将字符串复制指定次数)
/ 除法运算符,运算结果总会返回一个浮点类型
// 整除,只会保留计算后的整数位,总会返回一个整型(注意:一个浮点数整除一个整数时,返回一个.0的数,也是取整了,只是小数点后是零)
** 幂运算,求一个值的几次幂
% 取模,求两个数相除的余数

赋值运算

= 可以将等号右侧的值赋值给等号左侧的变量

+= a += 5 相当于 a = a + 5
-= a -= 5 相当于 a = a - 5
*= a *= 5 相当于 a = a * 5
**= a **= 5 相当于a = a ** 5
/= a /= 5 相当于a = a / 5
//= a //= 5 相当于a = a // 5
%= a %= 5 相当于a = a % 5

关系运算符

关系运算符用来比较两个值之间的关系,总会返回一个布尔值。
如果关系成立,返回True,否则返回False

> 比较左侧值是否大于右侧值
>= 比较左侧的值是否大于或等于右侧的值
< 比较左侧值是否小于右侧的值
<= 比较左侧值是否小于或等于右侧的值
== 比较两个对象的值是否相等
!= 比较两个对象的值是否不相等
注意 == 和 != 比较的是对象的值,而不是id
is 比较两个对象是否是同一个对象,比较的是对象的id
is not 比较两个对象是否不是同一个对象,比较的是对象的id

在Python中可以对两个字符串进行大小(等于)或小于(等于)的运算。
当对字符串进行比较时,实际上比较的是字符串的Unicode编码。
比较两个字符串的Unicode编码时,是逐位比较的(前一位如果能比较出大小来,就不再比较双方的下一位了)。
注意:如果不希望比较两个字符串的Unicode编码,则需要将其转换为数字然后进行比较。

result = 10 > 20
print(result)
result = '1' > '2'
print(result)
result = 'db' > 'bc'
print(result)
result = 1 > False
print(result)

在这里插入图片描述

逻辑运算符

逻辑运算符主要用来做一些逻辑判断
not 逻辑非
not 可以对符号右侧的值进行非运算
对于布尔值, 非运算会对其进行取反操作,True变False,False变True。
对于非布尔值,非运算会先将其转换为布尔值,然后再取反。
and 逻辑与
and可以对符号两侧的值进行与运算
只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False。
与运算是找Flase的
Python中的与运算是短路的与,如果第一个值为False,则不再看第二个值

or 逻辑非
or 可以对符号两侧的值进行或运算。
或运算两个值中只要有一个True,就会返回True。
或运算是找True的。
Python中的或运算是短路的或,如果第一个值为True,则不再看第二个值。

result = True and print("你猜我出来来吗?")  #第一个值为True,会看第二个值,所以print()会执行 
result = False and print("你猜我出来来吗?") #第一个值为False,不会看第二个值,所以print()不会被执行 result = True or print("你猜我出来来吗?")   #第一个值为True,不会看第二个值,所以print()不会被执行 
result = False or print("你猜我出来来吗?")  #第一个值为False,会看第二个值,所以print()会执行 

逻辑运算符也可以连着使用

result = 1 < 2 < 3 # 等价于  2 > 1 and 2 < 3

非布尔值的与或非运算

当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
与运算的规则
与运算是找Flase的,如果第一个值是False, 则不看第二个值
如果第一个值是False,则直接返回第一个值,否则返回第二个值
或运算的规则
或运算是找True的 如果第一个值是True,则不看第二个值
如果第一个值是True,则直接返回第一个值,否则返回第二个值

# True and True
result = 1 and 2        # 2 
# True and False
result = 1 and 0        # 0
# False and True
result = 0 and 1        # 0
# False and False
result = 0 and None     # 0# True or True
result = 1 or 2         # 1 
# True or False
result = 1 or 0         # 1
# False or True
result = 0 or 1         # 1
# False or False
result = 0 or None      # None

条件运算符(也叫三元运算符)

语法: 语句1 if 条件表达式 else 语句2
执行流程:
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果

a = 30
b = 20
print('a的值比较大!') if a > b else print('b的值比较大!') # a的值比较大!
a = 10
print('a的值比较大!') if a > b else print('b的值比较大!') # b的值比较大!
#获取a和b之间的较大值
max = a if a > b else b
print(max)

运算符的优先级

在这里插入图片描述

相关文章:

python中的常见运算符

文章目录 算数运算符赋值运算关系运算符逻辑运算符非布尔值的与或非运算条件运算符(也叫三元运算符)运算符的优先级 算数运算符 加法运算符&#xff08;如果两个字符串之间进行加法运算&#xff0c;则会进行拼串操作&#xff09; - 减法运算符 * 乘法运算符&#xff08;如果将字…...

TypeScript类型

TypeScript 是什么&#xff1f; 是以avaScript为基础构建的语言个一JavaScript的超集。可以在任何支持JavaScript的平台中执行。TypeScript扩展了JavaScript,并添加了类型。TS不能被JS解析器直接执行&#xff0c;需要编译成js。 基本类型 声明完变量直赴进行赋值 let c: boo…...

Integer源码

介绍 Integer是int类型的包装类&#xff0c;继承自Number抽象类&#xff0c;实现了Comparable接口。提供了一些处理int类型的方法&#xff0c;比如int到String类型的转换方法或String类型到int类型的转换方法&#xff0c;当然也包含与其他类型之间的转换方法。 Comparable提供…...

【四】设计模式~~~创建型模式~~~建造者模式(Java)

【学习难度&#xff1a;★★★★☆&#xff0c;使用频率&#xff1a;★★☆☆☆】 4.1. 模式动机 无论是在现实世界中还是在软件系统中&#xff0c;都存在一些复杂的对象&#xff0c;它们拥有多个组成部分&#xff0c;如汽车&#xff0c;它包括车轮、方向盘、发送机等各种部件…...

MarkDown的基本使用方法

为了给官方的文档知识总结&#xff1a;Markdown 基本语法 | Markdown 官方教程 #空格内容&#xff1a;‘#’表示标题的等级&#xff0c;越少表示标题级别越高&#xff08;字越大&#xff09; 在一行的末尾加两个或多个空格再回车&#xff0c;就是我们普通的文本回车。【还有一…...

IDEA 安装配置步骤详解

引言 IntelliJ IDEA 是一款功能强大的集成开发环境&#xff0c;它具有许多优势&#xff0c;适用于各种开发过程。本文将介绍 IDEA 的主要优势&#xff0c;并提供详细的安装配置步骤。 介绍 IntelliJ IDEA&#xff08;以下简称 IDEA&#xff09;之所以被广泛使用&#xff0c;…...

【网络】· 路由器中配置单臂路由和DHCP,VTP原理

目录 &#x1f349;单臂路由的工作原理 &#x1f95d;交换机配置 &#x1f95d;路由器配置 &#x1f349;路由器配置DHCP &#x1f95d;配置实例 &#x1f95d;路由器配置 &#x1f95d;验证 &#x1f349;VTP工作原理 &#x1f95d;VTP模式 &#x1f95d;VTP通告 &#x1f95d…...

Python 子域名扫描工具:使用多线程优化

部分数据来源:ChatGPT 本文仅用于信息安全的学习,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与本人无关。 摘要:子域名扫描是一个重要的安全工作,它可以发现目标网站的更多威胁和漏洞。本文介绍了如何使用 Python 来编写一…...

宝塔面板一键部署Z-Blog博客 - 内网穿透实现公网访问

文章目录 1.前言2.网站搭建2.1. 网页下载和安装2.2.网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测试5.结语 转发自cpolar极点云的…...

深入理解设计原则之单一职责原则(SRP)

系列文章目录 C高性能优化编程系列 深入理解设计原则系列 深入理解设计模式系列 高级C并发线程编程 SRP&#xff1a;单一职责原则 系列文章目录1、单一职责原则的定义和解读2、单一职责原则案例解读2.1、违背单一职责原则反面案例2.2、违背单一职责原则反面案例 - 解决方案 3…...

钉钉群通过短信转发器接收手机短信消息

1.短信转发器官网下载 下载地址 首发地址&#xff1a;https://github.com/pppscn/SmsForwarder/releases国内镜像&#xff1a;https://gitee.com/pp/SmsForwarder/releases网盘下载&#xff1a;https://wws.lanzoui.com/b025yl86h 访问密码&#xff1a;pppscn 使用文档 首发…...

【C++模版】模版进阶 {非类型模版参数; 模版的特化; 模版的分离编译; 模版总结}

一、非类型模版参数 模板参数分类型形参与非类型形参。 类型形参&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之后的参数类型名称。非类型形参&#xff1a;就是用一个常量作为类(函数)模板的一个参数&#xff0c;在类(函数)模板中可将该参数当成常量来…...

Azure Active Directory 的功能和优势

Azure Active Directory (Azure AD) 是 Microsoft 基于云的多租户目录和标识管理服务。 Azure AD 有助于支持用户访问资源和应用程序&#xff0c;例如&#xff1a; 位于企业网络上的内部资源和应用。 Microsoft 365、Azure 门户和 SaaS 应用程序等外部资源。 为组织开发的云应…...

mysql查询语句执行过程及运行原理命令

Mysql查询语句执行原理 数据库查询语句如何执行&#xff1f; DML语句首先进行语法分析&#xff0c;对使用sql表示的查询进行语法分析&#xff0c;生成查询语法分析树。语义检查&#xff1a;检查sql中所涉及的对象以及是否在数据库中存在&#xff0c;用户是否具有操作权限等视…...

可视化探索开源项目的 contributor 关系

引语&#xff1a;作为国内外最大的代码托管平台&#xff0c;根据最新的 GitHub 数据&#xff0c;它拥有超 372,000,000 个仓库&#xff0c;其中有 28,000,000 是公开仓。分布式图数据库 NebulaGraph 便是其中之一&#xff0c;同其他开源项目一样&#xff0c;NebulaGrpah 也有自…...

SpringBoot 实现启动项目后立即执行方法的几种方式

在项目开发中某些场景必须要用到启动项目后立即执行方式的功能&#xff0c;如我们需要去初始化数据到redis缓存&#xff0c;或者启动后读取相应的字典配置等&#xff0c;这篇文章主要聊聊实现立即执行的几种方法。 一、CommandLineRunner和ApplicationRunner 这两者的实现方法…...

2021第十二届蓝桥杯Python组国赛【真题+解析+代码】

&#x1f381;2021第十二届蓝桥杯python组国赛真题 &#x1f680; 真题练习&#xff0c;冲刺国赛 &#x1f680; 2021第十二届蓝桥杯python组国赛真题解析代码 博观而约取&#xff0c;厚积而薄发 &#x1f3c6;国赛真题目录 文章目录 &#x1f381;2021第十二届蓝桥杯python组国…...

3D引擎渲染管理系统概览

3D引擎渲染管理系统&#xff0c; 目前由: RendererScene, RendererSubScene, RendererSceneGraph, RenderProcess, RenderingCacheProcess/FBOProcess, (Material)PassGraph, (Material)PassNode, Material(Shader)Pipeline, RenderingFlowContainer, RenderableEnti…...

蔚来Java实习面经

目录 1.解释一下MySQL中脏读、不可重复读、幻读2.索引失效的场景有哪些&#xff1f;3.Explain执行计划用过吗4.Type字段有哪一些5.binlog和redolog的区别6.Redis基本数据类型7.有序集合的底层数据结构使用的是&#xff1f;8.跳表插入数据的过程能描述一下吗9.线程池&#xff0c…...

nginx 搭建http-flv(rtmp)流媒体的一次尝试

nginx 搭建http-flv(rtmp)流媒体的一次尝试 项目需要通过调用海康摄像头实现远程监控&#xff0c;但是由于网络限制&#xff0c;只能通过代理来调用&#xff0c;因此只能放弃海康官网提供的视频插件&#xff0c;经过一番搜索&#xff0c;决定采用此种方式&#xff1a;nginx 搭…...

AI时代的个人隐私与网络安全自保——从账号密码到设备行为的完整体系

一个很多人没做但很简单的事&#xff1a;去搜索一下自己的真实姓名、手机号、家庭住址&#xff0c;看看哪些信息已经公开在网上。知道自己的暴露面&#xff0c;才知道要重点保护什么。 haveibeenpwned是免费、靠谱、隐私友好的数据泄露查询工具。 安全防护不追求完美&#xff0…...

虚幻引擎Pak文件可视化分析工具原理与实践

1. 为什么一个Pak文件查看器值得花两周重写三遍&#xff1f;虚幻引擎项目打包后生成的.pak文件&#xff0c;对绝大多数开发者来说就是个“黑盒”——你清楚它装着所有资源&#xff1a;贴图、音频、蓝图、关卡数据&#xff0c;甚至UAsset序列化后的二进制结构&#xff1b;但你完…...

08-系统技术架构师必备——分布式系统理论与数据一致性

关键词:分布式系统、CAP定理、BASE理论、Paxos、Raft、分布式事务、TCC、Saga、一致性算法 分布式系统 CAP定理 分布式事务 一致性算法 Paxos Raft TCC Saga 系统技术架构师必备——分布式系统理论与数据一致性 摘要 分布式系统是系统技术架构师必须跨越的"分水岭"…...

Go语言CI/CD流水线实践

Go语言CI/CD流水线实践 引言 CI/CD&#xff08;持续集成/持续部署&#xff09;是现代软件开发的核心实践。本文将深入探讨如何为Go语言项目构建高效的CI/CD流水线。 一、CI/CD概述 1.1 CI/CD流程 代码提交 -> 代码审查 -> 构建 -> 测试 -> 部署 -> 监控1.2 关键…...

设计模式 之 责任链模式

一搜网上讲责任链的写法都感觉好复杂&#xff1f;我用简单实现让你秒懂并马上用到项目里 前言 搜了一圈责任链模式的文章&#xff0c;要么搬出 UML 类图画半天&#xff0c;要么搞一堆 Handler、HandlerChain、AbstractHandler 层层嵌套&#xff0c;看得人头大。 今天分享一个我…...

镜像视界浙江科技有限公司|数字孪生・视频孪生・无感定位・跨镜追踪 技术地位与核心优势

镜像视界浙江科技有限公司&#xff5c;数字孪生・视频孪生・无感定位・跨镜追踪 技术地位与核心优势镜像视界浙江科技有限公司&#xff0c;深耕数字孪生与视频孪生底层空间计算赛道&#xff0c;是无感定位技术体系的构建者、定义者&#xff0c;是跨镜全域连续追踪技术范式的开创…...

AI技术落地情报简报:面向执行层的模型选型与Prompt工程实战

1. 这不是一份普通 newsletter&#xff1a;它是一张AI领域的动态认知地图“This AI newsletter is all you need #61”——光看标题&#xff0c;你可能以为这又是一份泛泛而谈的AI资讯合集。但作为连续追踪该系列超过18个月、亲手拆解过其中52期原始内容、并用其指导过7个真实产…...

收藏!2026 程序员破局:Java 寒冬已至,大模型才是真风口

凌晨一点半&#xff0c;手机屏幕突然亮起&#xff0c;是做Java后端开发的发小发来的消息&#xff0c;字里行间全是慌乱与不甘&#xff1a;“刚收到公司裁员通知&#xff0c;名单已经定死了&#xff0c;我真的懵了——部门里干了五年的资深老程都没保住&#xff0c;我这三年经验…...

跨境电商标题焦虑?QA揭秘“批量更新标题“如何拯救你的运营效率

Q1&#xff1a;什么是"批量更新标题"&#xff1f;这玩意儿真的存在吗&#xff1f;Q&#xff1a;小彭&#xff0c;我听说有个功能叫"批量更新标题"&#xff0c;能批量改产品标题&#xff0c;是真的吗&#xff1f;还是又是那种"画大饼"的工具&…...

学习笔记·敏捷开发

“嗨,阿米戈!” “嗨,比拉博!” “今天我要给大家讲讲程序通常是怎么开发的。” “在 20 世纪,当现代 IT 还处于起步阶段时,每个人似乎都认为编程就像建筑或制造。” “事情通常是这样的:” “客户会解释他需要的程序类型——它应该做什么以及应该如何做。” “业…...