Python数值运算与赋值的快捷方式
一种比较常见的操作是对一个变量进行一项数学运算并将运算得出的结果返回给这个变量,因此对于这类运算通常有如下的快捷表达方式:
a = 2 a = a * 3
同样也可写作:
a = 2 a *= 3
要注意到 变量 = 变量 运算 表达式 会演变成 变量 运算 = 表达式。
求值顺序8
如果你有一个诸如 2 + 3 * 4 的表达式,是优先完成加法还是优先完成乘法呢?我们的高中数学知识会告诉我们应该先完成乘法。这意味着乘法运算符的优先级要高于加法运算符。
下面将给出 Python 中从最低优先级(最少绑定)到最高优先级(最多绑定)的优先级表。这意味着,在给定的表达式中,[Python]将优先计算表中位列于后的较高优先级的运算符与表达式。
为了保持完整,下表是从[ Python教程参考手册 中引用而来。你最好使用圆括号操作符来对运算符与操作数进行分组,以更加明确地指定优先级。这也能使得程序更加可读。你可以阅读改变运算顺序来了解更多的细节。
lambda:Lambda 表达式
if - else :条件表达式
or:布尔“或”
and:布尔“与”
not x:布尔“非”
in, not in, is, is not, <, <=, >, >=, !=, ==:比较,包括成员资格测试(Membership Tests)和身份测试(Identity Tests)。
|:按位或
^:按位异或
&:按位与
<<, >>:移动
+, -:加与减
*, /, //, %:乘、除、整除、取余
+x, -x, ~x:正、负、按位取反
**:求幂
x[index], x[index:index], x(arguments...), x.attribute:下标、切片、调用、属性引用
(expressions...), [expressions...], {key: value...}, {expressions...}:表示绑定或元组、表示列表、表示字典、表示集合
我们还没有遇到的运算符将在后面的章节中加以解释。
在上表中位列同一行的运算符具有相同优先级。例如 + 和 - 就具有相同的优先级。
改变运算顺序
为了使表达式更加易读,我们可以使用括号。举个例子,2 + (3 4) 自是要比 2 + 3 4 要更加容易理解,因为后者还要求你要了解运算符的优先级。和其它的一切一样,使用括号同样也要适度(而不要过度),同时亦应不要像 (2 + (3 * 4)) 这般冗余。
使用括号还有一个额外的优点——它能帮助我们改变运算的顺序。同样举个例子,如果你希望在表达式中计算乘法之前应先计算加法,那么你可以将表达式写作 (2 + 3) * 4。
结合性9
运算符通常由左至右结合。这意味着具有相同优先级的运算符将从左至右的方式依次进行求值。如 2 + 3 + 4 将会以 (2 + 3) +4 的形式加以计算。
表达式
案例(将其保存为 expression.py):
length = 5 breadth = 2 area = length * breadth print('Area is', area) print('Perimeter is', 2 * (length + breadth))
输出:
$ python expression.py Area is 10 Perimeter is 14
它是如何工作的
矩形的长度(Length)与宽度(Breadth)存储在以各自名称命名的变量中。我们使用它们并借助表达式来计算矩形的面积(Area)与周长(Perimeter)。我们将表达式 length breadth 的结果存储在变量 area 中并将其通过使用 print 函数打印出来。在第二种情况中,我们直接在 print 函数中使用了表达式 2 (length + breadth) 的值。
同时,你需要注意到 Python是如何漂亮地打印出 输出结果的。尽管我们没有特别在 Area is 和变量 area 之间指定空格,Python 会帮我们加上所以我们就能得到一个整洁的输出结果,同时程序也因为这样的处理方式而变得更加易读(因为我们不需要在用以输出的字符串中考虑空格问题)。这便是一个 Python 是如何让程序员的生活变得更加便捷美好的范例。
总结
我们已经了解了如何使用运算符、操作数与[python表达式]这些是我们构建任何程序的基本块。接下来,我们将看到如何在程序中善加利用这些语句。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python中的运算符与表达式
你所编写的大多数语句(逻辑行)都包含了Python表达式(Expressions)。一个表达式的简单例子便是 2+3。表达式可以拆分成运算符(Operators)与操作数(Operands)。运算符(Operators)是进行某些操作,并且可以用诸如 + 等符号或特殊关键词加以表达的功能。运算符需要一些数据来进行操作,这些数据就被称作操作数(Operands)。在上面的例子中 2 和 3 就是操作数。运算符 接下来我们将简要了解各类Python运算符及它们的用法。要记得你可以随时在解释器中对给出的案例里的表达式进行求值。例如要想测试表达式 2+3,则可以使用交互式 Python 解释器提示符: >>> 2 + 3 5 >>> 3 * 5 15 >>> 下面是可用运算符的速览:+(加) 两个对象相加。3+5 则输出 8。'a' + 'b' 则输出 'ab'。-(减) 从一个数中减去另一个数,如果第一个操作数不存在,则假定为零。-5.2 将输出一个负数,50 - 24 输出 26。*(乘) 给出两个数的乘积,或返回字符串重复指定次数后的...
- 下一篇
Django实现ajax提交
场景:前端框架用layui, 提交的是textarea 页面: <form method="POST"> {% csrf_token %} <div class="layui-form-item"> <div class="layui-col-md6 layui-col-xs-12"> <label class="layui-form-label">页面地址</label> <div class="layui-input-inline"> <textarea class="layui-textarea" name="urlstext" placeholder="请输入地址(一行一条以http开头)"></textarea> <button class="layui-btn" lay-submit="" lay-filter="srh">立即提交</button> <button type="reset" class="layui-btn layui-btn-pr...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7