【编程基础之Python】10、Python中的运算符

news2024/10/5 21:16:29

【编程基础之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 = 3

print(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

image-20230306110102707

赋值运算符

赋值运算符用于给变量或者表达式赋值。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)

image-20230306110635451

比较运算符

比较运算符用于比较两个值,返回一个布尔值(True或False)。以下是Python支持的比较运算符:

  • 等于运算符(==):用于检查两个值是否相等,如果相等则返回 True,否则返回 False
  • 不等于运算符(!=):用于检查两个值是否不相等,如果不相等则返回 True,否则返回 False
  • 大于运算符(>):用于检查左侧的值是否大于右侧的值,如果是则返回 True,否则返回 False
  • 小于运算符(<):用于检查左侧的值是否小于右侧的值,如果是则返回 True,否则返回 False
  • 大于等于运算符(>=):用于检查左侧的值是否大于或等于右侧的值,如果是则返回 True,否则返回 False
  • 小于等于运算符(<=):用于检查左侧的值是否小于或等于右侧的值,如果是则返回 True,否则返回 False

以下是比较运算符的案例:

x = 10
y = 3

print(x == y)   # 输出 False
print(x != y)   # 输出 True
print(x > y)    # 输出 True
print(x < y)    # 输出 False
print(x >= y)   # 输出 True
print(x <= y)   # 输出 False

image-20230306110844036

逻辑运算符

逻辑运算符用于比较两个或多个表达式的布尔值,并返回一个布尔值(TrueFalse)。以下是Python支持的逻辑运算符:

  • 逻辑与运算符(and):用于检查两个表达式是否都为True
  • 逻辑或运算符(or):用于检查两个表达式是否至少有一个为True
  • 逻辑非运算符(not):用于对表达式的值取反,如果条件为假,则返回 True,否则返回 False

以下是逻辑运算符的案例:

x = 5
y = 3
z = 7

print(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 的结果是不同的。

image-20230306112149691

位运算符

位运算符是用于对二进制数进行操作的运算符,包括按位与、按位或、按位异或、按位取反等,适用于整数类型数据。下面是Python中的位运算符:

  • 按位与运算符(&):参与运算的两个数,对应的二进制位上如果都是1,结果为1,否则为0。
  • 按位或运算符(|):参与运算的两个数,对应的二进制位上如果有一个是1,结果为1,否则为0。
  • 按位异或运算符(^):参与运算的两个数,对应的二进制位上如果只有一个是1,结果为1,否则为0。
  • 按位取反运算符(~):对参与运算的数的二进制位按位取反,0变为1,1变为0。
  • 左移运算符(<<):将参与运算的数的二进制位向左移动指定的位数,左移后低位补0。
  • 右移运算符(>>):将参与运算的数的二进制位向右移动指定的位数,右移后高位补0或补1(取决于参与运算的数的符号位)。

以下是位运算符的案例:

a = 60
b = 13

print(a & b)   # 输出12
print(a | b)   # 输出61
print(a ^ b)   # 输出49
print(~a)      # 输出-61
print(a << 2)  # 输出240
print(a >> 2)  # 输出15

image-20230306112313379

成员运算符

成员运算符用于测试一个值是否在序列中出现。常用的成员运算符有 innot 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

image-20230306112547160

身份运算符

身份运算符用于比较两个对象的存储单元,返回布尔值 TrueFalse

以下是 Python 中的身份运算符:

  • is :判断两个对象是否引用同一存储单元,如果是则返回 True,否则返回 False
  • is not :判断两个对象是否引用不同的存储单元,如果是则返回 True,否则返回 False
a = 5
b = 5
print(a is b)  # 输出True

c = [1, 2, 3]
d = [1, 2, 3]
print(c is d)  # 输出False

image-20230306112654471

运算符优先级

在Python中,不同的运算符有不同的优先级,当表达式中含有多个运算符时,Python会按照一定的优先级进行计算。常见运算符的优先级从高到低如下:

运算符描述
**指数运算(最高优先级)
+x, -x, ~x正、负、按位取反运算
*, /, //, %乘、除、整除、取模运算
+, -加、减运算
<<, >>按位左移、按位右移运算
&按位与运算
^按位异或运算
|按位或运算
==, !=, >, >=, <, <=比较运算符和成员运算符(左侧优先)
=, +=, -=, *=, /=, //=, %=, **=赋值运算符和增量赋值运算符(从右向左结合)
is, is not身份运算符
in, not in成员运算符
not逻辑非运算符
and逻辑与运算符
or逻辑或运算符
lambdalambda表达式(最低优先级)

运算符总结

本文介绍了Python中常见的运算符,包括算数运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、成员运算符、身份运算符等。在使用运算符时需要注意运算符的优先级和结合性,同时也要注意数据类型的匹配问题。

Python中的运算符不仅可以用于数值类型,还可以用于字符串、列表、元组、字典等复合数据类型。同时,Python还提供了一些特殊的运算符,如三目运算符和链式比较运算符等,方便程序员进行代码的编写和优化。

在实际编程中,合理地使用运算符可以提高代码的效率和可读性,对于Python程序员而言是一个必要的基础知识。

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

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

相关文章

构造有向无环图(拓扑排序)

蓝桥杯集训每日一题 acwing3696 给定一个由 n 个点和 m 条边构成的图。 不保证给定的图是连通的。 图中的一部分边的方向已经确定&#xff0c;你不能改变它们的方向。 剩下的边还未确定方向&#xff0c;你需要为每一条还未确定方向的边指定方向。 你需要保证在确定所有边的…

独家揭秘:站外引流的十大技巧!

在今天的互联网时代&#xff0c;如何有效地引流已成为网站运营者面临的一个重要问题。 站外引流是指通过在其他网站或平台上建立链接或发布内容&#xff0c;将流量引导到自己的网站&#xff0c;提高自己网站的访问量。 本文将为大家揭秘站外引流的十大技巧&#xff0c;帮助大…

python项目搭建(上)

提示&#xff1a;惊觉相思不露&#xff0c;原来只因已入骨 文章目录前言软件的安装HTTP协议1.安装Django启动Django路由子表定义数据库创建数据库表过滤条件生成HTML前言 这里是用python搭建的一个**销售管理系统&#xff0c;用于记录个人遇到的一些错误 提示&#xff1a;以下…

软测入门(七)python操作数据文件(Json、yaml、csv、excel、xml)

python操作文件 txt文件 read() : 读取所有readline() : 读取一行readlines() : 读取所有&#xff0c;且以行为单位&#xff0c;放入list列表中 file open(r"F:\abc.txt", "r", encoding"utf-8") # 以utf-8格式读取文件 # 读取所有 # print…

IM即时通讯开发之常用加解密算法与通讯安全讲解

平时开发工作中&#xff0c;我们会经常接触加密、解密的技术。尤其在今天移动互联网时代&#xff0c;越来越多的用户会将数据存储在云端&#xff0c;或使用在线的服务处理信息。这些数据有些涉及用户的隐私&#xff0c;有些涉及用户的财产&#xff0c;要是没有一套的方案来解决…

儿童写作业的台灯怎么选择?2023给孩子买台灯最新推荐一下

儿童年龄比较小&#xff0c;所以眼睛也比较脆弱&#xff0c;然而现在的社会普遍节奏较快&#xff0c;无论是上班族&#xff0c;还是大中小学生&#xff0c;压力都比较大&#xff0c;儿童经常晚上看书、写字学习&#xff0c;眼睛难免劳累&#xff0c;所以儿童台灯最重要的就是柔…

CDGA|给金融科技数据治理的四大建议,从根基上解决问题

随着我国金融科技行业的发展&#xff0c;当前的数据治理水平已无法满足金融反哺实体经济发展的效率需要。 目前主要存在数据基础设施不完善导致的治理根基薄弱核心问题&#xff0c;建议从以下四个方面进行完善数据基础设施&#xff0c;构筑金融科技数据治理体系。 加强顶层设计…

Springboot整合RabbitMQ并使用

1、Springboot整合RabbitMQ 1、引入场景启动器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency>引入AMQP场景启动器之后&#xff0c;RabbitAutoConfiguratio…

变电站应用监控系统6大优势,你知道几个?

变电站是改变电压、控制和分配电能的场所&#xff0c;发展方向是自动化、数字化、网络化、智能化。 泛地缘科技针对电力行业用户的使用特点&#xff0c;利用电网现有的网络资源&#xff0c;推出集动力监控、环境监理、门禁系统、消防系统、视频监控于一身的物联网云盒监控系统。…

05-思维导图Xmind快速入门

文章目录5.1 认识思维导图5.2 Xmind的主要结构及主题元素5.2.1 Xmind的多种结构5.2.2 主题分类5.2.3 Xmind的主题元素章节总结5.1 认识思维导图 什么是思维导图&#xff1f; 思维导图是一种将思维进行可视化的实用工具。 具体实现方法是用一个关键词去引发相关想法&#xff0…

Hive实战 --- 电子商务消费行为分析

目录 数据结构 Customer表 Transaction表 Store表 Review表 上传数据 创建目录用于存放数据 把本地文件上传到HDFS上 创建外部表 创建数据库 创建表 数据清洗 对transaction_details中的重复数据生成新ID 过滤掉store_review中没有评分的数据 找出PII (personal …

位图/布隆过滤器/海量数据处理方式

位图 位图的概念 所谓位图&#xff0c;就是用每一位来存放某种状态&#xff0c;适用于海量数据&#xff0c;数据无重复的场景。通常是用来判断某个数据存不存在的。 直接来看问题&#xff1a; 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0…

Gradle+SpringBoot多模块开发

关于使用Gradle结合SpringBoot进行多模块开发。 本来是打算使用buildSrc之类的&#xff0c;但是感觉好像好麻烦&#xff0c;使用这种方法就可以实现&#xff0c;没必要采用其他的。 我不怎么会表述&#xff0c;可能写的跟粑粑一样&#xff0c;哈哈哈哈 这是我的项目地址。 存在…

Java速成篇-Day01笔记

提示&#xff1a;这里只记录我个人不熟悉的知识&#xff0c;并非所有内容 笔记目录课程&#xff1a;04-第一行代码① jshell② 对象.方法课程&#xff1a;05-第一份源码① Java开发程序的流程② 入口方法课程&#xff1a;06-常见问题-中文乱码① 乱码原因② 解决方法课程&#…

【基础算法】单链表的OJ练习(4) # 分割链表 # 回文链表 #

文章目录前言分割链表回文链表写在最后前言 本章的OJ练习相对前面的难度加大了&#xff0c;但是换汤不换药&#xff0c;还是围绕单链表的性质来出题的。我相信&#xff0c;能够过了前面的OJ练习&#xff0c;本章的OJ也是轻轻松松。 对于OJ练习(3)&#xff1a;-> 传送门 <…

华为OD机试题,用 Java 解【单词反转】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…

在 Docker 安装 Oracle12

说明 单独在Linux上安装Oracle很繁琐&#xff0c;首先需要安装各种依赖&#xff0c;其次安装如果失败了&#xff0c;重新配置安装也挺麻烦&#xff0c;所以如果是开发或者测试的时候使用Docker来进行安装会非常的方便。 搜索了很多的oracle相关镜像&#xff0c;选择一个适合自…

【Linux】-- 基本指令

目录 用户管理 adduser passwd userdel pwd ls指令 -l -a -d -F -r -t -R -1 which alias ll ls -n cd cd - cd ~ touch -d stat mkdir -p rmdir rm -r -f man cp ​编辑 -r -f mv cat -n tac more less -N head tail | 管道 dat…

Cookies与Session

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后…

JavaScript基础六、函数

零、文章目录 文章地址 个人博客-CSDN地址&#xff1a;https://blog.csdn.net/liyou123456789个人博客-GiteePages&#xff1a;https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee&#xff1a;https://gitee.com/bluecusliyou/TechLearnGithub&#xff1a;https:…