python中的各类比较与计算

运算符

      • 1.算数运算符
      • 2.关系运算符
      • 3.逻辑运算符
      • 4.关于短路求值
      • 5.赋值运算符
        • 1)`=`的使用
          • 链式赋值
          • 多元赋值
        • 2)复合赋值运算符
      • 6.位运算符
      • 7.成员运算符
      • 8.身份运算符

1.算数运算符

# 加
print(1 + 2)
# 减
print(2 - 1)
# 乘
print(1 * 2)
# 余数   4%3=1余数为1
print(4 % 3)
# 除
print(4 // 2)
# 平方
print(4 ** 2)

在这里插入图片描述

2.关系运算符

a = 10
b = 20
# 小于
print(a < b)
# 大于
print(a > b)
# 大于等于
print(a >= b)
#小于等于
print(a <= b)
# 等于
print(a == b)
# 不等于
print(a != b)

在这里插入图片描述

不仅如此,这些算数运算符还可以对字符串进行比较。

在这里插入图片描述

这种比较的方法是在字典中排序而比较的,在字典中,排序越靠后的字符串越大,而在这里hi明显要比hello后出现,所以这里b是大于a的。

浮点数比较

注意,一般不会使用==对浮点数进行比较,因为浮点数在计算机中不是精准的,在计算过程中,很容易出现小误差。

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

在这里插入图片描述

3.逻辑运算符

多数用于判断或循环中。

a = True
b = False
c = True
# and 与
if a and c:print("a和c都为true")
# or 或
if a or b:print("a和b有一个为true")
# not 非
if not b:print("b不为true")

在这里插入图片描述

一种特殊写法

在python中可以使用a<b<c,相当于a<b and b<c。这个设定与大部分的编程语言不相同。

4.关于短路求值

和其他编程语言类似,也存在短路求职的规则。

对于and,如果左侧表达式为False,则不再继续向下求职,所以即使第二条件非法也对结果无影响。

if 10>20 and 10//0>1:print("两个表达式都正确")
else:print("计算首表达式错误")

在这里插入图片描述

对于or如果左侧表达式为True,则不再计算右侧表达式的正确性。

if 10>0 or 10//0>0:print("有一个表达式正确")
else:print("两个表达式都错误")

在这里插入图片描述

5.赋值运算符

1)=的使用

表示赋值,与==不同,不仅有基础语法,还可以对多个变量进行赋值。

链式赋值
a = b = 10
多元赋值
a,b,c=10,20,30

使用多元赋值可以对交换变量进行改写:

# 普通交换两个变量
temp = a
a = b
b = temp
# 改写好的交换变量
a,b = b,a
2)复合赋值运算符

+= -= *= /= %= **= //=

+=举个例子:a += 1相当于a = a + 1,将计算的值重新赋值给a,其他复合运算符也是同理。

a = 10
a = a + 1
print(f"a={a}")
b = 10
b += 1
print(f"b={b}")

在这里插入图片描述

注意:在python中没有++ --操作,如果需要使用+=1 -=1代替即可。

6.位运算符

|:按位或

&:按位与

^:按位异或

~:按位取反

<<:按位左移

>>:按位右移

以上位操作符与其他计算机语言一致都是将数字转化为二进制数字计算。

a = 60  # 0011 1100
b = 5  # 0000 0101
print(a & b)  # 0000 0100  => 4
print(a | b)  # 0011 1101  => 61
print(a ^ b)  # 0011 1001  =>57
print(~b)     # 1111 1010  =>
print(b << 1)  # 0000 1010  =>10
print(b >> 1)  # 0000 0010  =>2

在这里插入图片描述

7.成员运算符

in:在指定的序列中找到值返回 True,否则返回 False

not in:在指定序列中找不到返回True,否则返回False

a = [1,2,3,4,5]
b = "hello"
c = 5
print(c in a)
print(b not in a)

在这里插入图片描述

8.身份运算符

is: 判断两个标识符是不是引用自一个对象

is not:判断两个标识符是不是引用自不同对象

a = 20
b = 20
c = 30
print(a is b)
print(a is not c)

在这里插入图片描述
注意:这里的is==是不同的,is是用于比较两个对象是否指向同一个,而==只是单纯判断值是否相同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/141934.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

只要不逾期就行了吗?如何守护好你的“第二张身份证“!

在这个时代&#xff0c;信用记录已远远超越了金融交易的范畴&#xff0c;它如同一根无形的纽带&#xff0c;将我们生活的各个领域紧密相连。近闻有人甚至在步入婚姻殿堂前&#xff0c;也要细致核查对方的信用状况&#xff0c;毕竟&#xff0c;这关乎到共同生活的基石与未来幸福…

通过hosts.allow和hosts.deny限制用户登录

1、Hosts.allow和host.deny说明 两个文件是控制远程访问设置的&#xff0c;通过设置这个文件可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。如果请求访问的主机名或IP不包含在/etc/hosts.allow中&#xff0c;那么tcpd进程就检查/etc/hosts.deny。看请求访问的主机…

volatile 实现原理了解吗?

volatile 实现原理了解吗&#xff1f; volatile 有两个作用&#xff0c;保证可见性和有序性。 volatile 怎么保证可见性的呢&#xff1f; 简单来说&#xff1a;读取和写入变量从原本的本地内存变成主内存中 相比 synchronized 的加锁方式来解决共享变量的内存可见性问题&#…

网络原理 IP协议与以太网协议

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多数据结构知识 目录 1.网络层 IP协议 1.IP协议格式 2.地址管理 2.1 IP地址 2.2 解决IP地址不够用的问题 2.3NAT网络地址转换 2.4网段划分 3.路由选择…

Unity多国语言支持

Unity多国语言支持 项目在我的课程 ”淘金城堡“ 中应用 项目的地址&#xff1a;http://t.csdnimg.cn/m0hFd 一、基本概念 在Unity中加入多国语言的支持可以让我们发布的游戏或应用上线在拥有不同语言的国家或地区。 下面介绍一款Unity官方提供的插件“Localization package…

FinLex An effective use of word embeddings for financial lexicon generation

FinLex: An effective use of word embeddings for financial lexicon generation 论文阅读 文章目录 FinLex: An effective use of word embeddings for financial lexicon generation 论文阅读 AbstractMethodology具体词表例子LM 词列表与 FinLex 词列表 词列表在分类任务中…

EMT-DAVT--基于子空间分布对齐和决策变量转移的多目标多任务优化

EMT-DAVT–基于子空间分布对齐和决策变量转移的多目标多任务优化 title&#xff1a; Multiobjective Multitasking Optimization With Subspace Distribution Alignment and Decision Variable Transfer author&#xff1a; Weifeng Gao, Jiangli Cheng, Maoguo Gong, Hong L…

FreeRTOS实战指南 — 3.1 C语言链表

目录 1 单向链表 1.1 单链表的概念 1.2 链表增加头结点的作用 1.3 单链表的实现 2 循环链表 3 双向链表 为什么学习链表&#xff1f;FreeRTOS使用链表来管理任务调度&#xff0c;来维护不同优先级的就绪任务&#xff1b;许多内部数据结构&#xff0c;如任务控制块&#x…

机器学习 vs 深度学习:深入浅出解析两者的区别

在当今科技飞速发展的时代&#xff0c;**机器学习&#xff08;Machine Learning&#xff09;和深度学习&#xff08;Deep Learning&#xff09;**成为了人工智能&#xff08;AI&#xff09;领域的热门话题。无论你是技术专家、学生&#xff0c;还是对AI感兴趣的普通读者&#x…

Pointnet++改进57:全网首发SCSA(2024最新注意力机制)|即插即用,提升特征提取模块性能

简介:1.该教程提供大量的首发改进的方式,降低上手难度,多种结构改进,助力寻找创新点!2.本篇文章对Pointnet++特征提取模块进行改进,加入SCSA注意力机制,提升性能。3.专栏持续更新,紧随最新的研究内容。 目录 1.理论介绍 2.修改步骤 2.1 步骤一 2.2 步骤二 2.3 步骤…

搭子app有哪些?找搭子用什么软件?8款找搭子平台清单分享

在这个快节奏的现代社会&#xff0c;人们常常渴望找到志同道合的伙伴&#xff0c;一同分享生活中的喜怒哀乐、探索未知的领域。而找搭子软件的出现&#xff0c;如同璀璨星辰照亮了我们的社交天空。下面就为你带来一份精心整理的找搭子软件清单。 1. 咕哇找搭子小程序&#xff1…

2----手机维修工具 集合解锁 修复参数 刷机支持高通 MTK 展讯等芯片 支持一些PDA设备

这款工具在早些年使用较普遍. 。支持的机型非常多。不但支持国内品牌机型还支持很多国外机。总计多达几百种型号。功能选项较多。唯一的缺点是英文版。需要一定的英文基础的友友使用。支持各类机型修复系统 修复参数 读取信息 备份分区等等。以及一些小品牌机型的root 备份基带…

RT-DETR改进策略:BackBone改进|Swin Transformer,最强主干改进RT-DETR

摘要 在深度学习与计算机视觉领域,Swin Transformer作为一种强大的视觉Transformer架构,以其卓越的特征提取能力和自注意力机制,正逐步引领着图像识别与检测技术的革新。近期,我们成功地将Swin Transformer引入并深度整合至RT-DERT(一种高效的实时目标检测与识别框架)中…

解决iframe嵌套第三方页面被拒绝

背景 很多时候&#xff0c;出于安全考虑&#xff0c;没有第三方页面的允许&#xff0c;我们是无法直接通过iframe去打开别人的第三方页面的&#xff0c;通常他们会通过在页面请求的响应头增加X-Frame-Options (去了解)和Content-Security-Policy (去了解)。 目的 可是有些时…

尚品汇-秒杀商品存入缓存、Redis发布订阅实现状态位(五十一)

目录&#xff1a; &#xff08;1&#xff09;秒杀业务分析 &#xff08;2&#xff09;搭建秒杀模块 &#xff08;3&#xff09;秒杀商品导入缓存 &#xff08;4&#xff09;redis发布与订阅实现 &#xff08;1&#xff09;秒杀业务分析 需求分析 所谓“秒杀”&#xff0…

I2C/IIC学习笔记

I2C/IIC 有些同学I2C和IIC分不清&#xff0c;I2C和IIC实际上是指同一种通信协议。I2C是Inter-Integrated Circuit的缩写&#xff0c;而IIC是它的另一种表述方式&#xff0c;代表的是同一个意思&#xff0c;即“集成电路间总线”。I2C是一种由飞利浦公司&#xff08;现恩智浦半…

【题解】【枚举】—— [USACO1.5] 回文质数 Prime Palindromes

【题解】【枚举】—— [USACO1.5] 回文质数 Prime Palindromes [USACO1.5] 回文质数 Prime Palindromes题目描述输入格式输出格式输入输出样例输入 #1输出 #1 提示 思路1.素数筛法1.1.思路解析1.2.参考代码 解法1.打表1.1.思路解析1.2.AC代码 解法2.构造回文数2.1.思路解析2.2.…

Matlab Simulink 主时间步(major time step)、子时间步(minor time step)

高亮颜色说明&#xff1a;突出重点 个人觉得&#xff0c;&#xff1a;待核准个人观点是否有误 高亮颜色超链接 文章目录 对Simulink 时间步的理解Simulink 采样时间的类型Discrete Sample Times(离散采样时间)Controllable Sample Time(可控采样时间) Continuous Sample Times(…

基于springboot大学生就业招聘系统的设计与实现

大学生就业招聘系统的设计与实现 摘要 随着信息互联网信息的飞速发展&#xff0c;大学生就业成为一个难题&#xff0c;好多公司都舍不得培养人才&#xff0c;只想要一专多能之人才&#xff0c;不愿是承担社会的责任&#xff0c;针对这个问题开发一个专门适应大学生就业招聘的…

HTML+CSS - 网页布局之多列布局定位

1. 多列布局 CSS中多列布局处理文本内容&#xff0c;特别适合对于长段落或者大量文本进行自动分栏显示 类似于grid分布&#xff0c;但相较之下更加简洁明了 基本语法 <div class"container"><p>这是一些示例文本&#xff0c;当我们使用 column-count…