【编程基础之Python】11、Python中的表达式

news2024/9/21 16:32:15

【编程基础之Python】11、Python中的表达式

  • Python中的表达式
    • 表达式与运算符
    • 算术表达式
    • 赋值表达式
    • 比较表达式
    • 逻辑表达式
    • 位运算表达式
  • 总结

Python中的表达式

在Python中,表达式是由操作数、运算符和函数调用等组成的语法结构,可以进行各种数学运算、逻辑判断、字符串操作等。表达式可以被解释器求值,其结果可以赋值给变量、作为函数参数等。

Python中常见的表达式类型有算术表达式、赋值表达式、比较表达式、逻辑表达式和位运算表达式等。

表达式与运算符

表达式是由操作数和运算符组成,可以被求值为一个值或对象。而运算符则是用于执行运算的特殊符号或关键字,是表达式的一部分。

表达式和运算符之间存在密切的联系。表达式中的操作数通过运算符来进行各种操作,从而得到一个新的值或对象。运算符可以分为多种类型,如算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符等,每种类型的运算符都有其特定的运算规则。与运算符相对应,表达式就有算术表达式、赋值表达式、比较表达式、逻辑表达式和位运算表达式等。

表达式中的操作数可以是字面量、变量、函数调用等。字面量可以包括整数、浮点数、复数、字符串、布尔值、None等。变量则是用于存储值的标识符,可以在程序中被赋值和修改。函数调用是指通过函数名和参数列表来调用函数,并返回函数的返回值。

表达式和运算符在Python中都有其特定的语法和优先级。Python的语法规则定义了如何构造合法的表达式,并指定了各种运算符的优先级和结合性。优先级指定了哪些运算符优先级较高,应该先进行计算,而结合性指定了在表达式中具有相同优先级的运算符应该如何结合。

虽然表达式和运算符紧密相连,但它们的含义却是不同的。表达式是用来计算和返回一个值的,而运算符则是指示表达式中各个值之间的关系的符号。比如,对于表达式3 + 4,其运算符为+,表达式的值为7。而对于运算符+本身,它并不具有任何计算能力,它只是用来指示3和4之间的加法运算的。

算术表达式

算术表达式用于执行数学运算,包括加、减、乘、除和取模等。算术表达式对应于Python中的算术运算符,以下是Python支持的算术表达式:

  • 加法表达式(a + b):用于两个数字或字符串的相加。
  • 减法表达式(a - b):用于两个数字的相减。
  • 乘法表达式(a * b):用于两个数字相乘。
  • 除法表达式(a / b):用于两个数字的相除,结果为浮点数。
  • 整除表达式(a // b):用于两个数字的整除,结果为整数。
  • 取模表达式(a % b):用于两个数字的取模操作,即返回两个数相除的余数。
  • 指数表达式(a ** b):用于求一个数值的某次幂。
运算符表达式示例
+a + b3 + 4 = 7
-a - b7 - 3 = 4
*a * b3 * 4 = 12
/a / b7 / 3 = 2.33333…
//a // b7 // 3 = 2
%a % b7 % 3 = 1
**a ** b2 ** 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

赋值表达式

赋值表达式用于将值赋给变量,包括简单赋值、加等于赋值、减等于赋值、乘等于赋值、除等于赋值、取模等于赋值、幂等于赋值、整除等于赋值等。赋值运算符用于给变量或者表达式赋值。以下是一些常见的赋值表达式及其使用方法:

  • 简单赋值表达式(a = b):用于将b赋给a。
  • 加等于赋值表达式(a += b):用于将a的值加上b的值,并将结果赋给a。
  • 减等于赋值表达式(a -= b):用于将a的值减去b的值,并将结果赋给a。
  • 乘等于赋值表达式(a *= b):用于将a的值乘以b的值,并将结果赋给a。
  • 除等于赋值表达式(a /= b):用于将a的值除以b的值,并将结果赋给a。
  • 取模等于赋值表达式(a %= b):用于将a的值对b的值取模,并将结果赋给a。
  • 幂等于赋值表达式(a **= b):用于将a的值与b的值进行幂运算,并将结果赋给a。
  • 整除等于赋值表达式(a //= b):用于将a的值整除b的值,并将结果赋给a。

以下是赋值表达式的案例:

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支持的比较表达式:

  • 等于表达式(a == b):用于检查a和b是否相等,如果相等则返回 True,否则返回 False
  • 不等于表达式(a != b):用于检查a和b是否不相等,如果不相等则返回 True,否则返回 False
  • 大于表达式(a > b):用于检查a的值是否大于b的值,如果是则返回 True,否则返回 False
  • 小于表达式(a < b):用于检查a的值是否小于b的值,如果是则返回 True,否则返回 False
  • 大于等于表达式(a >= b):用于检查a的值是否大于或等于b的值,如果是则返回 True,否则返回 False
  • 小于等于表达式(a <= b):用于检查a的值是否小于或等于b的值,如果是则返回 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

逻辑表达式

逻辑表达式用于将多个条件组合在一起,返回True或False。逻辑表达式使用逻辑运算符比较两个或多个表达式的布尔值。以下是Python支持的逻辑表达式:

  • 逻辑与表达式(a and b):用于检查a和b是否都为True
  • 逻辑或表达式(a or b):用于检查a和b是否至少有一个为True
  • 逻辑非表达式(not b):用于对b的值取反,如果b为 False,则返回 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

image-20230306112149691

位运算表达式

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

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

总结

本文介绍了Python中常见的表达式。

在Python中,表达式(Expression)是由一系列值和操作符组合而成的代码结构,其可以用来计算和返回一个值。表达式是Python中最基本的计算单位,每个表达式都是一条语句,其会被解释器解析并计算出其结果。表达式与运算符密不可分,表达式中必然涉及到运算符,而运算符则用来指示表达式中各个值之间的关系。

运算符是表达式的组成部分之一,其用来连接表达式中的各个值,并指示它们之间的计算方式。表达式则是由运算符和值组成的,它用来描述一个具有计算结果的计算式。因此,表达式和运算符是密切相关的,二者相辅相成,共同构成Python中的计算体系。

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

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

相关文章

Maven环境下构建多模块项目

使用maven提供的多模块构建的特征完成maven环境下多模块的项目的管理和构建 这里以四个模块为例来搭建项目&#xff0c;以达到通俗易懂的初衷 模块 maven_parent -- 基模块&#xff0c;也就是常说的parent (pom) 模块 maven_dao -- 数据库访问层&#xff0c;例如jdbc操作(jar) …

华为OD机试题,用 Java 解【查找重复代码】问题

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

深度学习技巧应用3-神经网络中的超参数搜索

大家好&#xff0c;我是微学AI&#xff0c;今天给大家带来深度学习技巧应用3-神经网络中的超参数搜索。 在深度学习任务中&#xff0c;一个算法模型的性能往往受到很多超参数的影响。超参数是指在模型训练之前需要我们手动设定的参数&#xff0c;例如&#xff1a;学习率、正则…

计算机科学导论笔记(三)

五、计算机组成 计算机组成部件可以分为三大类&#xff08;子系统&#xff09;&#xff1a;中央处理单元&#xff08;CPU&#xff09;、主存储器和输入/输出子系统。 5.1 中央处理单元&#xff08;CPU&#xff09; 中央处理单元用于数据的运算&#xff0c;分为算术逻辑单元&a…

谁是世界上最好的编程语言?--编程语言70年浅谈

1、编程语言发展史纵览 严谨起见&#xff0c;本文提到的编程语言指的是「第三代高级编程语言」。 首先&#xff0c;我们从时间维度入手聊聊编程语言。一图胜千言&#xff0c;我们从目前主流的编程语言中&#xff0c;挑选出流行的、具有历史影响力的语言。把它们按时间从上往下…

【Java笔记】泛型

本章专题与脉络 泛型概述 生活中的例子 举例1&#xff1a;中药店&#xff0c;每个抽屉外面贴着标签 举例2&#xff1a;超市购物架上很多瓶子&#xff0c;每个瓶子装的是什么&#xff0c;有标签 举例3&#xff1a;家庭厨房中&#xff1a; Java中的泛型&#xff0c;就类似于上…

Spark 平衡 CPU

Spark 平衡 CPUCPU/内存平衡CPU 低效线程挂起调度开销优化 CPUCPU/内存平衡 Spark 将内存分 : Execution Memory : 用于分布式任务执行Storage Memory : 用于 RDD 缓存RDD 缓存展开前消耗 Execution Memory , 最后占用 Storage Memory 线程/执行内存关系&#xff1a; 执行内…

Eclipse快捷键,IDEA中使用Eclipse快捷键

/** Eclipse中的快捷键&#xff1a;* 1.补全代码的声明&#xff1a;alt /形参提示&#xff1a;Ctrl alt /* 2.快速修复: ctrl 1 * 3.批量导包&#xff1a;ctrl shift o* 4.使用单行注释&#xff1a;ctrl /* 5.使用多行注释&#xff1a; ctrl shift / * 6.取消多行注释…

《数据解构》HashMap源码解读

&#x1f451;作者主页&#xff1a;Java冰激凌 &#x1f4d6;专栏链接&#xff1a;数据结构 目录 了解HashMap HashMap的构造 两个参数的构造方法 一个参数的构造方法 不带参数的构造方法 哈希表初始化的长度 HashMap源码中的成员 Pt Get 了解HashMap 首先我们要明…

C语言——文件操作

文章目录0. 思维导图1. 为什么使用文件2. 什么是文件2.1 程序文件2.2 数据文件2.3 文件名3. 文件的打开和关闭3.1 文件指针3.2 文件的打开和关闭4. 文件的顺序读写4.1 字符/字符串写入&#xff08;出&#xff09;4.2 格式化写入&#xff08;出&#xff09;4.3 二进制输入&#…

拼多多的赶超让京东感受到压力,如今才发起百亿补贴可能晚了

近段时间以来&#xff0c;京东推出百亿补贴计划的宣传可谓铺天盖地&#xff0c;看起来京东这是要奋起反击了&#xff0c;然而拼多多如今的体量已经足够大&#xff0c;超越了京东&#xff0c;京东再发起反击已经晚了。一、拼多多超越了京东在用户数方面&#xff0c;早在2021年底…

GitLab创建仓库分配权限

文章目录创建仓库分配权限参考资料创建仓库 点击“New project”创建新项目 分配权限 点击左侧菜单栏“Members”成员&#xff0c;菜单 “Invite member”邀请成员&#xff0c;添加人员&#xff1b;“Invite group”邀请组织&#xff0c;添加一个组织所有成员下面输入框搜索…

ASEMI高压MOS管7N60参数,7N60封装,7N60规格

编辑-Z ASEMI高压MOS管7N60参数&#xff1a; 型号&#xff1a;7N60 漏极-源极电压&#xff08;VDS&#xff09;&#xff1a;600V 栅源电压&#xff08;VGS&#xff09;&#xff1a;30V 漏极电流&#xff08;ID&#xff09;&#xff1a;7A 功耗&#xff08;PD&#xff09;…

如何规避近年频发的数据安全事故?浅谈 SaaS 数据安全之路

近几年&#xff0c;删库跑路事件在国内频频发生。前有“某公司程序员删库跑路被判刑六年”&#xff0c;后有某公司几百家客户数据遭严重删除。这不仅为公司本身带来直接的财产损失&#xff0c;更为严重的是&#xff0c;公司的公信力、品牌形象也随之毁于一旦。值得注意的是&…

零基础如何学习Web 安全,如何让普通人快速入门网络安全?

前言 网络安全现在是朝阳行业&#xff0c;缺口是很大。不过网络安全行业就是需要技术很多的人达不到企业要求才导致人才缺口大 初级的现在有很多的运维人员转网络安全&#xff0c;初级也会慢慢的卷起来&#xff0c;但是岗位多不用怕&#xff0c;以后各大厂也都会要网络安全人…

代码随想录-50-222. 完全二叉树的节点个数

目录前言题目1.利用完全二叉树性质的递归2. 本题思路分析&#xff1a;3. 算法实现4. pop函数的算法复杂度5. 算法坑点前言 在本科毕设结束后&#xff0c;我开始刷卡哥的“代码随想录”&#xff0c;每天一节。自己的总结笔记均会放在“算法刷题-代码随想录”该专栏下。 代码随想…

基础复习第二十四天  网络编程

网络编程软件结构C/S结构 &#xff1a;全称为Client/Server结构&#xff0c;是指客户端和服务器结构。常见程序有&#xff31;&#xff31;、红蜘蛛、飞秋等软件。B/S结构 &#xff1a;全称为Browser/Server结构&#xff0c;是指浏览器和服务器结构。常见浏览器有IE、谷歌、火狐…

基于React Hooks的简单全局状态共享实现方案

什么是全局状态共享&#xff1f; 常规B端项目中往往需要一些全局通用的状态来实现跨组件层级甚至整个系统全局的共享&#xff0c;比如&#xff1a;当前用户的信息、某些业务状态等。 都有什么解决方案&#xff1f; 业内常规的成熟方案一般有&#xff1a;mobx、redux等专门的全…

containerd启动过程

github: https://github.com/containerd/containerd 1. 前言 dockerd 是 docker engine 守护进程&#xff0c;dockerd 启动时会启动 containerd 子进程&#xff0c;dockerd 与 containerd 通过 rpc 进行通信ctr 是 containerd 的 clicontainerd 通过 shim 操作 runc&#xff0…

throw语句以及throw “error“ 和 throw new Error(“error“)的区别

文章目录什么是 throw 语句&#xff1f;throw 语句后面跟一个对象Error 构造函数对象结论什么是 throw 语句&#xff1f; throw 语句用来抛出一个用户自定义的异常。当前函数的执行将被停止&#xff08;throw 之后的语句将不会执行&#xff09;&#xff0c;并且控制将被传递到调…