【Python】各种运行符及其运用实例

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️Python】


文章目录

  • 前言
  • 什么是运算符?
  • 算术运算符
    • 实例
  • 比较运算符
    • 实例
  • 赋值运算符
    • 实例
  • 逻辑运算符
    • 实例
  • 位运算符
    • 实例
  • 成员运算符
    • 实例
  • 身份运算符
    • 实例
  • 运算符优先级
    • 实例


前言

关于九种数据类型,在之前的文章中我们已经全部介绍,接下来,我们就将跳出基础知识的教学,进入到Python程序编写的学习,在这个阶段,我们可以自己动手,尝试去编写一些简单的Python程序。今天我们来学习有关运算符的相关知识。想了解更多Python内容请订阅内容【Python系列教程】

在这里插入图片描述


什么是运算符?

Python中的运算符用于执行数学或逻辑运算。这些运算符可以根据它们的功能和操作数的数量进行分类。

算术运算符:用于执行基本的算术运算,例如加法、减法、乘法、除法等。常见的算术运算符包括 +、-、*、/、%(取余数)、**(幂运算)
比较运算符:用于比较两个值。常见的比较运算符包括 ==、!=、>、<、>=、<=
赋值运算符:用于将值赋给变量。常见的赋值运算符包括 =、+=、-=``、*=``、/=
逻辑运算符:用于组合多个条件。常见的逻辑运算符包括 and(与)、or(或)、not(非)
位运算符:用于对二进制数进行操作。常见的位运算符包括 &(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移)
成员运算符:用于检查一个值是否存在于序列中。常见的成员运算符包括 in(存在)和 not in(不存在)
身份运算符:用于比较两个对象的内存地址。常见的身份运算符包括 is(同一对象)和 is not(不同对象)
运算符优先级:当一个表达式中含有多个运算符时,运算符优先级规定了它们的计算顺序。可以使用括号来改变运算符的优先级。

在这里插入图片描述

接下来我将一一为大家介绍它,并分享实例。

算术运算符

Python中的算术运算符用于执行基本的数学运算,如加、减、乘、除等。这些运算符对于处理数字和变量中的数值非常关键

加法 (+): 用于将两个数相加。
减法 (-): 用于从一个数中减去另一个数。
乘法 (*): 用于将两个数相乘。
除法 (/): 用于将第一个数除以第二个数并返回商(浮点数)。
整除 (//): 用于将两个数相除并返回商的整数部分(向下取整)。
取模 (%): 用于返回两个数相除的余数。
幂 (**): 用于返回第一个数的第二个数次幂的结果。

在这里插入图片描述

实例

a = 21
b = 10
c = 0
c = a + b
print("1 - c 的值为:", c)
c = a - b
print("2 - c 的值为:", c)
c = a * b
print("3 - c 的值为:", c)
c = a / b
print("4 - c 的值为:", c)
c = a % b
print("5 - c 的值为:", c)
# 修改变量 a 、b 、c
a = 2
b = 3
c = a** b
print("6 - c 的值为:", c)
a = 10
b = 5
c = a // b
print("7 - c 的值为:", c)

在这里插入图片描述


比较运算符

比较运算符用于比较两个值的大小或相等性。

等于 (==): 检查两个值是否相等。
不等于 (!=): 检查两个值是否不相等。
大于 (>): 检查左边的值是否大于右边的值。
小于 (<): 检查左边的值是否小于右边的值。
大于等于 (>=): 检查左边的值是否大于或等于右边的值。
小于等于 (<=): 检查左边的值是否小于或等于右边的值。

在这里插入图片描述

实例

a = 21
b = 10
c = 0
if a == b:print("1 - a 等于 b")
else:print("1 - a 不等于 b")
if a != b:print("2 - a 不等于 b")
else:print("2 - a 等于 b")
if a > b:print("3 - a 不等于 b")
else:print("3 - a 等于 b")
if a < b:print("4 - a 小于 b")
else:print("4 - a 大于等于 b")
if a > b:print("5 - a 大于 b")
else:print("5 - a 小于等于 b")
# 修改变量 a 和 b 的值
a = 5
b = 20
if a <= b:print("6 - a 小于等于 b")
else:print("6 - a 大于  b")
if b >= a:print("7 - b 大于等于 a")
else:print("7 - b 小于 a")

在这里插入图片描述

赋值运算符

Python中的赋值运算符主要用于将值或表达式的结果赋给变量。最基本的赋值运算符是单个等号=。然而,Python还提供了一些复合赋值运算符,它们结合了算术运算符、位运算符或逻辑运算符与赋值操作,从而允许在一行代码中执行多个操作。

简单赋值 (=): 用于将右侧的值赋给左侧的变量。
复合赋值 (+=, -=, *=, /=, %=, //=, **=): 用于对变量进行算术运算并重新赋值。

在这里插入图片描述
注:海象运算符:=是Python 3.8中引入的一个新特性,因此在较旧的Python版本中不可用

实例

a = 21
b = 10
c = 0
c = a + b
print("1 - c 的值为:", c)
c += a
print("2 - c 的值为:", c)
c *= a
print("3 - c 的值为:", c)
c /= a
print("4 - c 的值为:", c)
c = 2
c %= a
print("5 - c 的值为:", c)
c **= a
print("6 - c 的值为:", c)
c //= a
print("7 - c 的值为:", c)

在这里插入图片描述

逻辑运算符

Python中的逻辑运算符是用来在条件语句中进行逻辑操作的特殊符号,它们允许根据一个或多个条件的真假值来执行相应的操作。

与 (and): 如果两个条件都为True,则返回True。
或 (or): 如果两个条件中至少有一个为True,则返回True。
非 (not): 对条件取反。

在这里插入图片描述
注:当使用and运算符时,如果第一个表达式为False,则Python不会评估第二个表达式,因为无论第二个表达式的值是什么,整个表达式的结果都将是False。这被称为“短路”行为。
类似地,当使用or运算符时,如果第一个表达式为True,则Python不会评估第二个表达式,因为整个表达式的结果已经确定为True。

实例

a = 10
b = 20
if a and b:print("1 - 变量 a 和 b 都为 True")
else:print("1 - 变量 a 和 b 有一个不为 True")
if a or b:print("2 - 变量 a 和 b 都为 True,或其中一个变量为 True")
else:print( "2 - 变量 a 和 b 都不为 True")
# 修改变量 a 的值
a = 0
if a and b:print("3 - 变量 a 和 b 都为 True")
else:print("3 - 变量 a 和 b 有一个不为 True")
if a or b:print("4 - 变量 a 和 b 都为 True,或其中一个变量为 True")
else:print("4 - 变量 a 和 b 都不为 True")
if not (a and b):print("5 - 变量 a 和 b 都为 False,或其中一个变量为 False")
else:print("5 - 变量 a 和 b 都为 True")

在这里插入图片描述

位运算符

Python中的位运算符主要用于对整数的二进制表示进行操作。这些运算符直接作用于整数的二进制位,允许进行如位与、位或、位异或、位取反、左移和右移等操作。

按位与 (&): 对两个数的二进制表示进行按位与操作。
按位或 (|): 对两个数的二进制表示进行按位或操作。
按位异或 (^): 对两个数的二进制表示进行按位异或操作。
按位取反 (~): 对数的二进制表示进行按位取反操作。
左移 (<<): 将数的二进制表示向左移动指定的位数。
右移 (>>): 将数的二进制表示向右移动指定的位数。

在这里插入图片描述
注:位运算符主要针对整数类型的数据进行操作,如果将字符串等其他类型的数据进行二进制转换会报错。
在进行位运算时,Python会自动将操作数转换为整数(如果它们不是整数的话)。
位运算符在底层编程、性能优化、加密解密等领域有广泛应用。

实例

a = 60  # 60 = 0011 1100 
b = 13  # 13 = 0000 1101 
c = 0
c = a & b;  # 12 = 0000 1100
print("1 - c 的值为:", c)
c = a | b;  # 61 = 0011 1101 
print("2 - c 的值为:", c)
c = a ^ b;  # 49 = 0011 0001
print("3 - c 的值为:", c)
c = ~a;  # -61 = 1100 0011
print("4 - c 的值为:", c)
c = a << 2;  # 240 = 1111 0000
print("5 - c 的值为:", c)
c = a >> 2;  # 15 = 0000 1111
print("6 - c 的值为:", c)

在这里插入图片描述

成员运算符

Python中的成员运算符主要用于检查某个元素是否属于某个序列(如列表、元组、字符串等)或集合。这些运算符在编程中非常有用,因为它们允许我们进行快速的条件判断。

in: 检查某个值是否是序列(如列表、元组或字符串)的成员。
not in: 检查某个值是否不是序列的成员。

在这里插入图片描述
注:当使用成员运算符时,需要确保序列或集合是可迭代的,因为成员运算符会遍历序列或集合中的元素来查找指定的值。
成员运算符对于字符串也同样适用,可以检查某个子字符串是否存在于另一个字符串中。
在使用成员运算符时,需要注意区分大小写,因为Python是区分大小写的语言。

实例

a = 10
b = 20
list = [1, 2, 3, 4, 5];
if (a in list):print("1 - 变量 a 在给定的列表中 list 中")
else:print("1 - 变量 a 不在给定的列表中 list 中")
if (b not in list):print("2 - 变量 b 不在给定的列表中 list 中")
else:print("2 - 变量 b 在给定的列表中 list 中")
# 修改变量 a 的值
a = 2
if (a in list):print("3 - 变量 a 在给定的列表中 list 中")
else:print("3 - 变量 a 不在给定的列表中 list 中")

在这里插入图片描述

身份运算符

Python中的身份运算符是用于比较两个对象是否具有相同的内存地址的运算符。它们主要用于判断两个变量是否指向同一个对象,而不是比较它们的值是否相等。Python中的身份运算符主要有两个:is和is not

is: 检查两个对象是否指向同一个内存地址(即它们是否是同一个对象)。
is not: 检查两个对象是否不指向同一个内存地址。

在这里插入图片描述

注:身份运算符比较的是对象的内存地址,而不是它们的值。即使两个对象具有相同的值,它们也可能有不同的内存地址。
对于不可变类型(如整数、浮点数、字符串、元组等),Python可能会实现对象缓存(也称为“驻留”或“interning”),这意味着具有相同值的不可变对象可能会共享相同的内存地址。然而,这并不意味着所有具有相同值的不可变对象都必然有相同的内存地址,这取决于Python的实现和内存管理策略。
对于可变类型(如列表、字典、集合等),即使两个对象包含相同的元素,它们也一定有不同的内存地址,因为可变类型的对象可以就地修改。
\

实例

a = 20
b = 20
if (a is b):print("1 - a 和 b 有相同的标识")
else:print("1 - a 和 b 没有相同的标识")
if (a is not b):print("2 - a 和 b 没有相同的标识")
else:print( "2 - a 和 b 有相同的标识")
# 修改变量 b 的值
b = 30
if (a is b):print("3 - a 和 b 有相同的标识")
else:print("3 - a 和 b 没有相同的标识")if (a is not b):print("4 - a 和 b 没有相同的标识")
else:print("4 - a 和 b 有相同的标识")

在这里插入图片描述

运算符优先级

Python中的运算符有优先级,例如,乘法 (*) 和除法 (/) 的优先级高于加法 (+) 和减法 (-)。可以使用括号 () 来改变运算的优先级。
在这里插入图片描述

实例

a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d  # ( 30 * 15 ) / 5
print("(a + b) * c / d 运算结果为:", e)
e = ((a + b) * c) / d  # (30 * 15 ) / 5
print("((a + b) * c) / d 运算结果为:", e)
e = (a + b) * (c / d);  # (30) * (15/5)
print("(a + b) * (c / d) 运算结果为:", e)
e = a + (b * c) / d;  # 20 + (150/5)
print("a + (b * c) / d 运算结果为:", e)

在这里插入图片描述
参考菜鸟编程 Python运算符
在这里插入图片描述

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

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

相关文章

娱乐圈幕后揭秘孙俪天选打工人

【娱乐圈幕后揭秘&#xff1a;孙俪“天选打工人”背后的热议风暴】在聚光灯下光鲜亮丽的娱乐圈&#xff0c;每一位明星的日常备受瞩目。近日&#xff0c;实力派演员孙俪在社交媒体上分享了一段片场棚拍的趣事&#xff0c;本是无心之举&#xff0c;意外引爆了网络热议的导火索。…

鸿蒙小练习

bean对象 export class BannerImage{id:numberurl:stringtargetUrl:stringproductId:numberconstructor(id: number, url: string, targetUrl: string, productId: number) {this.id idthis.url urlthis.targetUrl targetUrlthis.productId productId} }export class d…

YOLO之boxes小记

import cv2 from ultralytics import YOLO # 加载模型 model YOLO(modelyolov8n.pt) results model(sourceanimal.jpg)result results[0] img result.plot() from matplotlib import pyplot as plt # matplotlib :rgb模式 # cv:bgr模式 plt.imshow(Ximg[:,:,::-1])result.b…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【加密导入密钥(C/C++)】

加密导入密钥(C/C) 以加密导入ECDH密钥对为例&#xff0c;涉及业务侧加密密钥的[密钥生成]、[协商]等操作不在本示例中体现。 具体的场景介绍及支持的算法规格。 在CMake脚本中链接相关动态库 target_link_libraries(entry PUBLIC libhuks_ndk.z.so)开发步骤 设备A&#xf…

【NLP学习路线的总结】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 目录 0. 👉前言1. 👉前置知识👉基础数学知识👉编程语言👉…

记录一次ffmpeg手动编译出现的问题

前言部分 使用环境: ubuntu 22.04 最近手动编译了一次的ffmpeg&#xff08;参考博客ffmpeg学习&#xff1a;ubuntu下编译ffmpeg(全网最懒的编译脚本)&#xff09;&#xff0c;但是过程出现了一些问题&#xff0c;因此在此记录一下&#xff0c;若有疑问&#xff0c;欢迎讨论~。 …

MHA Master High Availability

一、MHA工作原理和架构 MHA利用 SELECT 1 As Value 指令判断master服务器的健康性,一旦master 宕机,MHA 从宕机崩溃的master保存二进制日志事件&#xff08;binlog events&#xff09;识别含有最新更新的slave应用差异的中继日志&#xff08;relay log&#xff09;到其他的sla…

20240709 每日AI必读资讯

&#x1f9e0;手把手教你如何打造《星际穿越》中的 TARS 机器人复制品&#xff01; - 一位名为 Charles Diaz 的开发者使用树莓派创建了一个完全功能的 TARS 复制品。 - 使用树莓派3B作为主控&#xff0c;配合Adafruit PCA-9685伺服驱动器&#xff0c;通过编写的步态控制程序…

C++ lambda按引用捕获导致的空悬指针问题

lambda可以按值捕获&#xff0c;也可以按引用捕获。按引用捕获会导致闭包包含指涉到局部变量的引用&#xff0c;或者指涉到定义lambda式的作用域内形参的引用。一旦lambda式所创建的闭包越过了该局部变量或者形参的生命周期&#xff0c;那么闭包内的引用就会空悬。比如下面这段…

给您介绍工控CAN总线

CAN是什么 CAN&#xff0c;全称Controller Area Network&#xff0c;即控制器局域网&#xff0c;是一种由Bosch公司在1983年开发的通信协议。它主要用于汽车和工业环境中的电子设备之间的通信。CAN协议定义了物理层和数据链路层的通信机制&#xff0c;使得不同的设备能够通过CA…

家里猫咪浮毛太多怎么办?值得买的猫毛空气净化器推荐

作为一位拥有5年铲屎经验的铲屎官&#xff0c;我知道许多新手铲屎官可能听说过宠物空气净化器&#xff0c;但了解得不多。事实上&#xff0c;宠物空气净化器确实是养猫家庭必备的小家电之一。它的大面积进风口可以有效吸附空气中的微小浮毛和皮屑&#xff0c;专门的除臭技术能有…

写一个函数,返回参数二进制中 1 的个数

代码要求 输入一个整数n&#xff0c;输出该数32位二进制中为1的个数&#xff08;包括最高位的符号位&#xff09;&#xff0c;其中负数用补码表示 如&#xff1a;输入&#xff1a;15 &#xff08;15的二进制表示&#xff1a;0000 1111&#xff09; 输出&#xff1a;4 代码实…

【server】1、后台基础搭建

1、父工程创建 1.1新建 1.2 父工程pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"h…

电脑选购全解析!你需要知道的一切!

在选择电脑类型时&#xff0c;你可以考虑以下因素&#xff1a; 你的主要用途是什么&#xff1f; 你是否需要携带电脑&#xff1f; 你的预算是多少&#xff1f; 你对性能和图形要求有多高&#xff1f; 你是否需要特定的软硬件功能&#xff1f;根据这些因素&#xff0c;你可以…

Git秘籍大公开:从基础概念到高级技巧的全面解析

文章目录 前言一、Git基础介绍1. 作用2. 为什么要进行源代码管理?3. Git的诞生4. Git管理源代码特点5. Git操作流程图解 二、工作区暂存区和仓库区介绍1. 工作区2. 暂存区3. 仓库区 三、Git单人本地仓库操作1. 安装git2. 查看git安装结果3. 创建项目4. 创建本地仓库5. 配置个人…

SpringCloud 负载均衡

目录 一、负载均衡 1、问题 2、什么是负载均衡 服务端负载均衡 客户端负载均衡 二、Spring Cloud LoadBalance 1、使用 Spring Cloud LoadBalance 2、负载均衡策略 3、LoadBalancer 原理 一、负载均衡 1、问题 我们来看一下前面写的代码&#xff1a; List<Serv…

电子版盖章怎么弄(电子版公章怎么盖上)

下面是利用e章宝盖电子公章更简单&#xff0c;从印章库中选中要盖的公章&#xff0c;然后在文档中想要盖的位置单击一下即可&#xff1a; 第一步&#xff1a;制作需要盖的电子印章 一般是先扫描公章&#xff0c;然后使用e章宝的一键抠章功能&#xff0c;把印章导入到印章库中…

音频demo:使用fdk-aac将PCM数据编码成aac数据

1、README a. 编译 编译demo 本demo是使用的开源项目fdk-aac将PCM数据编码成aac音频文件。由于提供的.a静态库是在x86_64的机器上编译的&#xff0c;所以默认情况下仅支持该架构的主机上编译运行。 $ make编译fdk-aac&#xff08;可选&#xff09; 如果想要在其他架构的CP…

Java语言程序设计——篇二(1)

Java语言基础 数据类型关键字与标识符关键字标识符 常量与变量1、常量2、变量 类型转换自动类型转换强制类型转换 数据类型 数据的基本要素数据的性质&#xff08;数据结构&#xff09;数据的取值范围&#xff08;字节大小&#xff09;数据的存储方式参与的运算 Java是一门强类…

常见的自动化工具开发必备的源代码!

随着科技的飞速发展&#xff0c;自动化工具已经成为我们日常工作中不可或缺的一部分&#xff0c;自动化工具不仅极大地提高了工作效率&#xff0c;还降低了人为错误的可能性。 然而&#xff0c;要想开发出高效、稳定的自动化工具&#xff0c;掌握一些常见的源代码技巧是至关重…