广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么理解python运算对象、运算符、表达式和语句
  • 259
分享到

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

2023-06-02 05:06:32 259人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

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

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

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

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

比如下面这一行代码:

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

先来分解一下这一行:

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

  • 表达式: 由运算符和操作对象组成。此例中的表达式有a + 7a > 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布尔非
innot inisis 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)

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

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

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

--结束END--

本文标题: 怎么理解python运算对象、运算符、表达式和语句

本文链接: https://www.lsjlt.com/news/229088.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么理解python运算对象、运算符、表达式和语句
    本篇内容主要讲解“怎么理解python运算对象、运算符、表达式和语句”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解python运算对象、运算符、表达式和语句”吧!编程的本质就是数据和运算...
    99+
    2023-06-02
  • 运算符、表达式和内置对象
    一、实验目的 1.会使用IDLE编辑器编写简单数据类型; 2.掌握常量、变量的表示方式和简单操作; 3.掌握Python语言中基本的输入和输出方法; 4.掌握Python语言的各种运算符以及这些运算符...
    99+
    2023-10-07
    python 爬虫 numpy
  • 详解python的运算符与表达式
    目录表达式什么是表达式?运算符算术运算符赋值运算符比较运算符逻辑运算符成员运算符对象实例运算符位运算符总结表达式 什么是表达式? # • 表达式由一个或多个操作数通过操作符组合而成。...
    99+
    2022-11-12
  • python的运算符与表达式怎么用
    这篇文章主要为大家展示了“python的运算符与表达式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python的运算符与表达式怎么用”这篇文章吧。表达式什么是表达式?# •&n...
    99+
    2023-06-26
  • Python运算符与表达式是什么
    今天就跟大家聊聊有关Python运算符与表达式是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python运算符与表达式。什么是运算符:运算符用于执行程序代码运算,会针对一个以上...
    99+
    2023-06-04
  • C#表达式和运算符详细解析
    目录类型转换1、表达式1.2 运算符分类2、数学运算符3、赋值运算符4、关系运算符5、布尔运算符6、位运算符6.1 &按位与运算6.2 或|按位运算6.3 异或^按位运算符6...
    99+
    2022-11-13
  • python的运算符与表达式你真的了解吗
    目录一、表达式二、运算符1、算术运算符2、赋值运算符3、比较运算符4、逻辑运算符5、成员关系运算6、对象实例测试7、位运算8、一元运算 :三、python运算符优先级 1、...
    99+
    2022-11-12
  • 如何理解linux shell逻辑运算符、逻辑表达式
    这篇文章主要介绍“如何理解linux shell逻辑运算符、逻辑表达式”,在日常操作中,相信很多人在如何理解linux shell逻辑运算符、逻辑表达式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解l...
    99+
    2023-06-09
  • JavaScript类型、运算符、对象和方法怎么用
    这篇文章主要介绍“JavaScript类型、运算符、对象和方法怎么用”,在日常操作中,相信很多人在JavaScript类型、运算符、对象和方法怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScr...
    99+
    2023-06-27
  • linux中awk、正则表达式、正则运算符怎么用
    小编给大家分享一下linux中awk、正则表达式、正则运算符怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用awk作为文本处理工具,正则表达式是少不了的。...
    99+
    2023-06-13
  • C语言简明讲解三目运算符和逗号表达式的使用
    目录一、三目运算符二、逗号表达式三、小结一、三目运算符 三目运算符( a b : c)可以作为逻辑运算的载体 规则:当 a 的值为真时,返回 b 的值;否则返回 c 的值 下面看一...
    99+
    2022-11-13
  • C语言中的运算符和结合性问题怎么解决
    本文小编为大家详细介绍“C语言中的运算符和结合性问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中的运算符和结合性问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。C语言运算符和结合性优...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作