千家信息网

怎么理解python运算对象、运算符、表达式和语句

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,本篇内容主要讲解"怎么理解python运算对象、运算符、表达式和语句",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么理解python运算对象、运算符、表
千家信息网最后更新 2025年11月10日怎么理解python运算对象、运算符、表达式和语句

本篇内容主要讲解"怎么理解python运算对象、运算符、表达式和语句",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么理解python运算对象、运算符、表达式和语句"吧!

编程的本质就是数据和运算,数据由基本数据类型、数据结构来表示,运算就是对这些数据的各种操作,基本的加减乘除、是非判断、流程控制等等。这些操作就是今天我们要讲的运算符、表达式和语句。

提示:运算和操作这两个概念在编程中往往是一样的

比如下面这一行代码:

a = 5; b = a + 7; c = a if a > b else b

先来分解一下这一行:

  • 语句: 由表达式组成。此例共三条语句,用分号;分开,即一个物理行有三个逻辑行;

  • 表达式: 由运算符和操作对象组成。此例中的表达式有a + 7, a > b等;

  • 运算对象: 即各种对象。此例中的a, b, c, 5, 7等。

用一行表示它们的关系就是:

运算对象 + 运算符 -> 表达式 -> 语句

运算对象和运算符构成表达式,表达式构成语句

运算对象

运算对象就是由各种对象构成的集合,这些对象里面有些是常量,有些是变量。

常量

Python中的常量我们已经见过很多了,比如整数:9, 7, 8等等,浮点数:3.14, 0.618等等,字符串:'猿人学Python',这些常量我们看到它们时就知道它们的意思,这就是字面意义上的常量。

字面意义上的常量就是按照它们的字面意义使用它们的值。比如,数字8总是代表它自己,它是一个常量,不能改变它的值。

变量

常量代表具有特定意义的对象,但不足以满足编程的需要。编程经常需要一种既可以存储数据有可以对它进行运算(操作)的东东,这个东东就是变量。编程中要经常使用变量,就需要给变量起个名字:变量名。变量名的起名规则就是前面讲Python基本语法时提到的标识符,忘了的小猿可以再去看看那一节。

最开始那一行Python代码中的a, b, c都是变量,而5, 12, 5就是它们各自存储的值。如果再来一句a = a + 3a的值就变成了8,变量a的值就变了。
变量的赋值就是给变量一个值,比如a = 3,就是给a变量以3的值。

a = 3  # 把3赋值给a,此时a的值为3b = a  # 把a赋值给b,此时b的值等于a的值,也是3c, d = a, b  # 这是多重赋值,相当于 c = a; d = b

运算符

运算符就是对运算对象进行的具体运算名称。不同的运算符代表不同的运算,比如加减乘除。
通过Python shell可以方便的体验运算符的使用:

In [115]: 2 + 5Out[115]: 7In [116]: 8 * 9Out[116]: 72

下面我们用一个表格来清晰的列出各种运算符及其用法。

运算符名称含义示例

+两个对象相加2 + 5得7; '猿人学' + 'Python'得到'猿人学Python'

-两数相减,或负数10 - 5得到5;-3.1表示负数。

*两数相乘,或字符串重复多次3 * 7得到21;'py' * 2得到pypy

**返回x的y次幂2**8得256; 2.3**3得12.167

/两数相除10 / 2得到5;10 / 3 得到 3.333333

//向下取整除两数相除,返回离商最近且小的整数。如果除数和被除数中有浮点数,返回的也是浮点数。11 // 2得到5;-11 // 2得到-6;5 // 1.34得到3.0.

%模除求余数10 % 3得到1;10 % 3.3得到0.1;-10 % 3.3得到3.2,因为-10 // 3.3得 -4,-10 - 3.3*-4得到3.2.

<<左移二进制操作,把数字的每个比特位向左移动特定位数(数字在内存中以二进制0,1表示)2 << 3得到16,2的二进制是:00000010,左移3位变成:0b00010000即16

>>右移把一个数的比特位向右移动特定位数2 >> 1得到1

&位与两数对应的比特位进行与操作8 & 9得8

``位或两数对应的比特位进行或操作`89`得9
^位异或两数对应的比特位进行异或操作8^9得1

位反一个数x的比特位全部取反,值为-(x+1)~8的 -9

<小于返回x是否小于y。所有比较运算符返回的不是True就是False8 < 9得到True

>大于返回x是否大于y8 > 9得到False

<=小于等于返回x是否小于等于yx = 2; y = 3; x <= y 返回True

>=大于等于返回x是否大于等于yx = 6; y = 4; x >= y 返回True

==等于比较对象是否相等2 == 2返回True3 == 2返回False'str' == 'str'返回True

!=不等于比较对象是否不相等1 != 3返回True3 != 3返回False


not布尔非如果x是True则返回False;如果x是False则返回Truex = False; not x返回True

and布尔与x and y 如果x是False则返回False,否则返回y的布尔值x = False; y = True; x and y返回False,因为x是False。这种情况下,Python不再检验y的布尔值,因为and左边的x已经是False了,不管右边的y是真是假都不影响整个表达式的值,所以就不再去验证y是真是假。这叫做"短路求值"。

or布尔或如果x是True则返回True,否则返回y的布尔值x = True; y = False; x or y返回True。这里同样适用"短路求值"

运算符优先级(Operator precedence)

小时候学数学的时候,我们知道先乘除后加减,比如要算2 + 5 * 6的话,先算5 * 6得到30, 再算2 + 30得到32. 也就是说,乘法运算符的优先级高于加法运算符。

下面的表格就是Python的运算符的优先级,从低到高排列,同一个单元格里面的运算符具有相同的优先级,这时候运算顺序从左到右。不过,还是建议大家通过使用圆括号来分组表达式(运算符和运算对象),这样可以清楚的指出运算的先后顺序,同时也让程序更加易读。

运算符描述
lambdaLambda函数表达式
if-else条件表达式
or布尔或
and布尔与
not布尔非
in, not in, is, is not, <, <=, >, >=, !=, ==比较,包括成员测试和同一性测试
``位或
^位异或
&位与
<<, >>移位
+, -加、减
*, @, /, //, %乘,矩阵乘法,除,向下取整除,模除
+x, -x, ~x整数,负数,位非(位反)
**幂运算符。它的绑定不如其右侧的算数或按位一元运算符紧密,所以,2**-1 的值是0.5.
awaitawait表达式(asyncio中使用)
x[index], x[index:index], x(arguments...), x.attribute下标,切片,函数调用,属性引用
(expressions...), [expressions...], {key:value...}, {expressions...}绑定或元组显示,列表显示,字典显示,集合显示

上面表格中有我们还没有接触到的运算符,这将会在后面的章节中讲解。

程序根据上表的顺序来进行运算,但是我们也可以通过圆括号来改变它们的计算顺序,比如(2 + 7) * 3中,就先计算圆括号里面的加法,然后再进行乘法。这个原则跟小学时学到的算术是一样的。

表达式(Expression)

表达式是一段可以计算为某个值的语法片段。换句话说,就是表达元素的累积,比如文字,名称,属性访问,运算符或函数调用,它们都返回一个值。与许多其它语言相比,并非所有语言结构都是表达式。还有一些语句不能用作表达式,比如while赋值也是语句,但不是表达式。

从上面对表达式的定义来看,a > 3是表达式,a = 3不是表达式,而是赋值语句。

语句(Statements)

语句是程序段(一个代码"块")的组成单位。一条语句可以是一个表达式或某个带有关键字的结构,例如if, whilefor
语句的例子:

a = 5  # 赋值语句if a > 3:  #条件语句,其中 a > 3是表达式    print('a > 3')  #输出语句

到此,相信大家对"怎么理解python运算对象、运算符、表达式和语句"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

运算 表达式 运算符 对象 语句 就是 变量 布尔 常量 数据 一行 优先级 意义 顺序 编程 乘法 二进制 代码 代表 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 成都学习软件开发的大学 数据库维护计划向导没有时间设置 如何才能保证数据库的安全性 软件开发过程中的资源 微软数据库怎么样 交通行业网络安全工作方案报价 网络安全法第七十二条该如何理解 怎么退我的世界服务器游戏 飞机FM数据库 自己创建的数据库账号密码是什么 数据库设计er图二维表 苹果手机能玩原神官方服务器吗 小公司文件管理服务器 上网络安全课感受50字 用pycharm打开数据库 宜兴自动软件开发代理价钱 没有kvm怎么连服务器 幼儿园网络安全宣传周报道 冒险岛2最多人服务器 鹤壁网络技术 软件开发哪里学习 亚博数据库 网络安全报送审核制度 游戏软件开发需要多少资金 数据库中有哪些聚合函数 数据库数据报表 自己创建的数据库账号密码是什么 思科网络安全章节考试答案 痛苦视频软件开发 数据库中怎么查询平均差值
0