python中的各类比较与计算

news2024/9/21 19:06:17

运算符

      • 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.coloradmin.cn/o/2140206.html

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

相关文章

C++第五十一弹---IO流实战:高效文件读写与格式化输出

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1. C语言的输入与输出 2. 流是什么 3. CIO流 3.1 C标准IO流 3.2 C文件IO流 3.2.1 以写方式打开文件 3.2.1 以读方式打开文件 4 stringstre…

【测试方案】软件测试管理规程(doc源文件)

软件测试规程的作用在于确保软件测试活动的系统性、规范性和一致性。它明确了测试的目标、范围、方法、流程以及所需资源&#xff0c;为测试人员提供了明确的指导和操作规范。通过遵循测试规程&#xff0c;可以提高测试效率&#xff0c;减少测试遗漏和错误&#xff0c;保证软件…

NC 表达式求值

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 请写一个整数…

MySQL8.0.13-函数索引

目录 什么是函数索引 语法 函数索引测试 创建表结构 插入数据 创建普通索引 查看执行计划 创建函数索引 查看执行计划 查看索引信息 函数索引效率 普通索引 函数索引 分析 注意事项 老版本如何实现函数索引 什么是函数索引 本篇主要介绍 MySQL 的函数索引&…

【数据结构】顺序表和链表经典题目

系列文章目录 单链表 动态顺序表实现通讯录 顺序表 文章目录 系列文章目录前言一、顺序表经典例题1. 移除元素2. 合并两个有序数组 二、链表经典例题1. 移除链表元素2. 反转链表3. 合并两个有序链表4. 链表的中间节点5. 环形链表的约瑟夫问题 总结 前言 我们通过前面对顺序表…

NVM(node.js版本工具)的使用

1.nvm是什么 NVM 是 Node Version Manager 的缩写&#xff0c;它是一个用于管理 Node.js 版本的命令行工具。通过NVM&#xff0c;你可以在同一台机器上安装和切换多个 Node.js 版本&#xff0c;对于开发和测试在不同 Node.js 版本上运行的应用程序非常有用。 2.下载 下载之前…

『功能项目』眩晕图标显示【52】

我们打开上一篇51调整Boss技能bug的项目&#xff0c; 本章要做的事情是在释放法师的眩晕技能时&#xff0c;boss01处在眩晕动画时显示一个眩晕图标 首先双击Boss01预制体进入预制体空间 创建一个Image重命名为StateUIdiz 代表第一个受击状态 设置Canavas 并且修改Canvas的渲染…

Java 学习全攻略:从入门到精通的详细指南

目录 一、引言 Java 的背景和发展 学习 Java 的意义 二、Java 的核心特性 1. 面向对象编程&#xff08;OOP&#xff09; 2. 跨平台性 3. 自动内存管理 4. 强大的标准库 三、Java 基础语法 1. 变量和数据类型 原始数据类型 引用数据类型 2. 运算符 3. 控制结构 条…

柳淘鸿黄金沁透发热面膜:肌肤逆龄之旅的秘密武器!

柳淘鸿黄金沁透发热面膜&#xff1a;肌肤逆龄之旅的秘密武器&#xff01;"柳淘鸿的黄金沁透发热面膜液融合了中国发明专利,专利号:ZL202310228041.5对应成分:胶原, 金&#xff0c;珍珠粉以及多种珍贵植物萃取精华&#xff0c;是肌肤逆龄之旅的绝密武器。这款面膜液温和滋养…

Git之误执行git rm -r解决方案(六十七)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

视频分割操作教程

1、打开剪映 2、点击开始创作上面的“”&#xff0c;选择视频&#xff0c;点击添加按钮&#xff0c;导入一个视频素材到剪映 3、滑动视频&#xff0c;让视频竖线到合适位置 4、点击视频&#xff0c;出现白色边框 5、点击工具栏“分割”&#xff0c;然后点击需要删除的视频部分 …

03 战略的本质与实践 - 战略管理实践的启示

1,战略有一定复杂性。在学术界就有很多学派。明斯伯格,加拿大的管理学家,认为有10大学派。 我看来有三个方面: 理性学派:通过规划、主动管理 演进学派:根据一个不确定性的环境,自发自下而上来形成 过程管理:重要的不是结果,而是过程 简单的看,如下图。 显示公司自己的…

查询分类数据序列中的每个类别 Series.cat.categories

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 1.定义分类序列s 2.查询s中的各类别 Series.cat.categories 选择题 关于以下代码输出结果的说法中正确的是? import pandas as pd s pd.Series([a,b,a,b], dtypecategory) print("【…

windows系统安装docker

参考&#xff1a;GitHub - tech-shrimp/docker_installer: Docker官方安装包&#xff0c;用来解决因国内网络无法安装使用Docker的问题 1.windows系统安装docker cmd 右键 以管理员身份运行 输入 wsl --set-default-version 2 wsl --update --web-download GitHub - tech-s…

系统架构设计师教程 第5章 5.2 需求工程 笔记

5.2 需求工程 ★★★★★ 软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。 软件需求包括3个不同的层次&#xff1a;业务需求、用户需求和功能需求(也包括非功能需求)。 (1)业务需求 (business requirement) 反映了组织机构或客户对系统、产品高层次的目标…

Flutter启动无法运行热重载

当出现这种报错时&#xff0c;大概率是flutter的NO_Proxy出问题。 请忽略上面的Android报错因为我做的是windows开发这个也就不管了哈&#xff0c;解决下面也有解决报错的命令大家执行一下就行。 着重说一下Proxy的问题&#xff0c; 我们看到提示NO_PROXY 没有设置。 这个时候我…

掌握ZooKeeper的业务使用场景,ZooKeeper如何实现分布式锁

1. ZooKeeper分布式锁 1.1 排他锁实现分布式锁 面试官&#xff1a;知道Zookeeper有什么应用场景吗? 目前地球村里大型公司部署的分布式技术&#xff0c;绝大部分都是由Zookeeper提供底层的技术支持&#xff0c;所以Zookeeper多么重要就不用我多说了吧。 我们可以利用Zookeep…

多态(下)【C++】

抽象类 抽象类的定义 只要有纯虚函数的类就是抽象类 什么是纯虚函数&#xff1f; 纯虚函数是一种特殊的虚函数&#xff0c;它是没有函数体的虚函数 纯虚函数的语法&#xff1a; class <类名> { public:virtual <类型><函数名>(<参数表>) 0; };…

基于 jenkins 的持续集成、持续部署方案

工具介绍 python3.12 fastapi 0.92.0 uvicorn 开发部署web项目&#xff1b;git gitee 实现代码版本管理&#xff1b;jenkins docker 实现持续集成、持续部署&#xff1b;centos7 作为jenkins服务器 & 部署服务器&#xff1b;有条件的可以再启动一台服务器作为部署测试…

【Elasticsearch系列六】系统命令API

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…