当前位置: 首页 > news >正文

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

【编程基础之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 = 3print(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 = 3print(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 = 7print(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 = 13print(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中的计算体系。

相关文章:

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

【编程基础之Python】11、Python中的表达式Python中的表达式表达式与运算符算术表达式赋值表达式比较表达式逻辑表达式位运算表达式总结Python中的表达式 在Python中&#xff0c;表达式是由操作数、运算符和函数调用等组成的语法结构&#xff0c;可以进行各种数学运算、逻辑判…...

华为OD机试真题Python实现【乱序整数序列两数之和绝对值最小】真题+解题思路+代码(20222023)

乱序整数序列两数之和绝对值最小 题目 给定一个随机的整数数组(可能存在正整数和负整数)nums, 请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值 并返回这两个数(按从小到大返回)以及绝对值。 每种输入只会对应一个答案。但是,数组中同一个元素不能使用两…...

字符串转换整数 (atoi)(python)

链接&#xff1a; https://leetcode.cn/problems/string-to-integer-atoi 题目描述&#xff1a; 请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09;。 函数 myAtoi(string s) 的算法…...

洛谷 P1115 最大子段和

题目链接&#xff1a;P1115 最大子段和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 给出一个长度为 n 的序列 a&#xff0c;选出其中连续且非空的一段使得这段和最大。 输入格式 第一行是一个整数&#xff0c;表示序列的长度 n。 第二行有 n 个整数&#xff…...

【Linux】-- 权限和Shell运行原理

目录 Shell的运行原理 用户切换 su - / su sudo 权限 chmod chown chgrp 八进制方法修改文件属性 目录权限 粘滞位 umask 自定义默认权限 Shell的运行原理 广义上&#xff0c;Linux发行版 Linux内核 外壳程序 Linux 从广义上来理解它是一个操作系统 而从狭义上…...

C++各类设计模式及实现详解

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性&#xff1a;封装、继承、多态&#xff0c;真正领悟设计模式的精髓是可能一个漫长的过程&#xff0c;需要大量实践经验的积累。最近看设计模式的书&#xff0…...

【Linux】进程理解与学习(Ⅰ)

环境&#xff1a;centos7.6&#xff0c;腾讯云服务器Linux文章都放在了专栏&#xff1a;【Linux】欢迎支持订阅&#x1f339;相关文章推荐&#xff1a;【Linux】冯.诺依曼体系结构与操作系统进程概念什么是进程&#xff1f;进程是什么&#xff1f;我们打开任务管理器可以看到有…...

认识代码之前,请先认识你自己 |《编程人生》

这是我的湛庐课程《给技术人的职场突围课》 &#xff08;链接&#xff09; 的一部分。 这篇文章也是 IT 女神征文活动 的一部分。 《编程人生》是一本优秀程序员的采访集&#xff0c;里面记录了15位世界级编程大师的故事。 我在 发刊词 里面说过&#xff0c;在这个书单课里&am…...

react学习笔记-5:react路由

react旧版本路由 旧版本的路由是按照组件的方式来写的 编写router/index.tsx文件 import App from "../App" import Home from "../views/Home" import About from "../views/About" import { BrowserRouter,Routes,Route } from "react…...

[Python图像处理] 使用高通滤波器实现同态滤波

使用高通滤波器实现同态滤波同态滤波基础实现同态滤波相关链接同态滤波基础 同态滤波是一种去除图像中乘性噪声的技术&#xff0c;常用于校正图像中的不均匀照明。根据图像形成的光照反射模型&#xff0c;图像 f(x,y)f(x,y)f(x,y) 可以由以下两个分量表征&#xff1a; 入射到…...

PyTorch深度学习:60分钟入门

PyTorch深度学习&#xff1a;60分钟入门 本教程的目的: 更高层级地理解PyTorch的Tensor库以及神经网络。训练一个小的神经网络来对图像进行分类。 本教程以您拥有一定的numpy基础的前提下展开 Note: 务必确认您已经安装了 torch 和 torchvision 两个包。 这是一个基于Pytho…...

C语言指针常见问题汇总

我们在学C语言时&#xff0c;指针是我们最头疼的问题之一&#xff0c;针对C语言指针&#xff0c;博主根据自己的实际学到的知识以及开发经验&#xff0c;总结了以下使用C语言指针时常见问题。 1、指针做函数参数 学习函数的时候&#xff0c;讲了函数的参数都是值拷贝&#xf…...

Coremail邮件系统全新上线存档邮箱功能

邮箱积累邮件太多&#xff0c;搜索起来又慢又麻烦&#xff01; 我的重要邮件忘记下载丢失了&#xff01;14天自动删除太难了&#xff01; 有没有可能重要邮件自动存档&#xff0c;解救一下“遗忘星”人&#xff1f; 在我们日常工作中&#xff0c;邮件是最经常使用的办公工具之一…...

Python绘图

1.二维绘图 a. 一维数据集 用 Numpy ndarray 作为数据传入 ply 1. import numpy as np import matplotlib as mpl import matplotlib.pyplot as pltnp.random.seed(1000) y np.random.standard_normal(10) print "y %s"% y x range(len(y)) print "x%s&q…...

【独家】华为OD机试 - 第K个最小码值的字母(C 语言解题)

最近更新的博客 华为od 2023 | 什么是华为od&#xff0c;od 薪资待遇&#xff0c;od机试题清单华为OD机试真题大全&#xff0c;用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析经验分享,题型分享,防作弊指南&#xff09;华为od机试&#xff0c;独家整理 已参加机试…...

整数反转(python)

题目链接&#xff1a; https://leetcode.cn/problems/reverse-integer/ 题目描述&#xff1a; 给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231,231−1][−2^{31}, 2^{31} − 1][−231,231…...

【数据结构】二叉树与堆

文章目录1.树概念及结构1.1树的相关概念1.2树的结构2.二叉树概念及结构2.1相关概念2.2特殊的二叉树2.3二叉树的性质2.4二叉树的存储结构3.二叉树的顺序结构及实现3.1二叉树的顺序结构3.2堆的概念3.3堆的实现Heap.hHeap.c3.4堆的应用3.4.1 堆排序3.4.2 TOP-KOJ题最小K个数4.二叉…...

Git图解-常用命令操作-可视化

目录 一、前言 二、初始化仓库 2.1 设置用户名与邮箱 2.2 初始化仓库 三、添加文件 四、查看文件状态 五、查看提交日志 六、查看差异 七、版本回退 八、删除文件 九、分支管理 9.1 创建分支 9.2 切换分支 9.3 查看分支 9.4 合并分支 十、文件冲突 十一、转视…...

C语言-基础了解-20-typedef

typedef 一、typedef C 语言提供了 typedef 关键字&#xff0c;您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语 BYTE&#xff1a; typedef unsigned char BYTE; 在这个类型定义之后&#xff0c;标识符 BYTE 可作为类型 unsigned char 的缩写&…...

Ubuntu系统升级16.04升级18.04

一、需求说明 作为Linux发行版中的后起之秀&#xff0c;Ubuntu 在短短几年时间里便迅速成长为从Linux初学者到实验室用计算机/服务器都适合使用的发行版&#xff0c;目前官网最新版本是22.04。Ubuntu16.04是2016年4月发行的版本&#xff0c;于2019年4月停止更新维护。很多软件支…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...