一种比较常见的操作是对一个变量进行一项数学运算并将运算得出的结果返回给这个变量,因此对于这类运算通常有如下的快捷表达方式:

a = 2a = a * 3

同样也可写作:

a = 2a *= 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 = 5breadth = 2area = length * breadth
print('Area is', area)
print('Perimeter is', 2 * (length + breadth))

输出:

$ python expression.py
Area is 10Perimeter is 14

它是如何工作的
矩形的长度(Length)与宽度(Breadth)存储在以各自名称命名的变量中。我们使用它们并借助表达式来计算矩形的面积(Area)与周长(Perimeter)。我们将表达式 length breadth 的结果存储在变量 area 中并将其通过使用 print 函数打印出来。在第二种情况中,我们直接在 print 函数中使用了表达式 2 (length + breadth) 的值。
同时,你需要注意到 Python是如何漂亮地打印出 输出结果的。尽管我们没有特别在 Area is 和变量 area 之间指定空格,Python 会帮我们加上所以我们就能得到一个整洁的输出结果,同时程序也因为这样的处理方式而变得更加易读(因为我们不需要在用以输出的字符串中考虑空格问题)。这便是一个 Python 是如何让程序员的生活变得更加便捷美好的范例。

总结

我们已经了解了如何使用运算符、操作数与表达式——这些是我们构建任何程序的基本块。接下来,我们将看到如何在程序中善加利用这些语句。

Python数值运算与赋值的快捷方式的更多相关文章

  1. Python数值运算

    算术运算 a=10 b=2 + 加-两个对象相加 a+b输出结果12 - 减-得到负数或是一个数减去另一个数 a - b输出结果8 * 乘-两个数相乘或是返回一个被重复若干次的字符串 a * b输出结 ...

  2. python数值运算 四则运算

    数值运算 描述 获得用户输入的一个字符串,格式如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬ ...

  3. 1.9 Python基础知识 - 数值运算

      一.数值运算 在Python中有丰富的算术运算,这使得Python在科学计算领域有着很高的地位,Python可以提供包括四则运算在内的各种算术运算. 算术运算符 运算符 含义 说明 优先级 实例 ...

  4. 数值运算内建函数(core python programming 2nd edition 5.6.2)

    数值运算内建函数 函数  功能 abs(num) 返回 num 的绝对值 coerce(num1, num2) 将num1和num2转换为同一类型,然后以一个元组的形式返回. divmod(num1, ...

  5. python实现图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)

    目录: (一)数值运算(加减乘除) (二)逻辑运算(与或非异或) 正文: (一)数值运算(加减乘除) opencv自带图片色素的处理函数------相加:add()   相减:subtract()  ...

  6. python变量和变量赋值的几种形式

    动态类型的语言 python是动态类型的语言,不需要声明变量的类型. 实际上,python中的变量仅仅只是用来保存一个数据对象的地址.无论是什么数据对象,在内存中创建好数据对象之后,都只是把它的地址保 ...

  7. LinuxShell脚本编程基础2-变量与数值运算、父shell和子shell

    1.变量和数值运算 Shell脚本的变量不需要声明的 对变量赋值有两种方式, 直接用“=” 或者用键盘输入值 #!/bin/bash name1="Jack" echo $name ...

  8. Numpy数值类型与数值运算-03

    什么是NumPy? NumPy是Python中科学计算的基本软件包.它是一个Python库,提供多维数组对象,各种派生对象(例如蒙版数组和矩阵) 以及各种例程,用于对数组进行快速操作,包括数学,逻辑, ...

  9. Shell基础(二):Shell中的数值运算、条件测试操作、使用if选择结构

    一.Shell中的数值运算 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 使用expr.$[ ].let等整数运算工具:定义变量X=1234,然后计算X与78 ...

随机推荐

  1. linux 文件操作命令 touch、cat、more、less、head、tail

    touch /bin/touch 创建空文件 linux 创建文件可以使用特殊符号,/除外 touch test test1 创建了两个文件touch "test test1" 创 ...

  2. oracle 用户对象权限

    drop user test cascade;create user test identified by test;grant create session to test;grant create ...

  3. C#Owin auth20开发 OwinStartup 不会触发的解决办法

    在使用owin auth20设置token时候遇到一个问题.项目中已经存在如下初始化配置类 using Microsoft.Owin; using Owin; [assembly: OwinStart ...

  4. leetCode题解 寻找运动环

    1.题目描述 Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this ...

  5. Oracle EBS AR 收款核销行关联到事务处理

    select ra.trx_number from ar_cash_receipts_all cr, ar_receivable_applications_all ar,ra_customer_trx ...

  6. 关于SQL Server 2017中使用json传参时解析遇到的多层解析问题

    开发新的系统,DB部分使用了SQL Server从2016版开始自带的Json解析方式. 用了快半年,在个人项目,以及公司部分项目上使用了,暂时还没遇到大的问题,和性能问题. 今天在解析Json的多级 ...

  7. SQL Server 常用数据类型

    char:    固定长度,存储ANSI字符,不足的补英文半角空格. varchar:  可变长度,存储ANSI字符,根据数据长度自动变化. nchar:   固定长度存储Unicode字符,汉字英文 ...

  8. openweathermap-免费的天气预报接口

    openweathermap-免费的天气预报接口 其官方网址为:http://www.openweathermap.org/api 静态截图: 具备以下的一些特点: 1. Current weathe ...

  9. 汽车学习---汽车知识大全【all】

    汽车驱动/发动机/大灯 侧方位停车和倒车入库技巧 手动挡车型 换档8大技巧 常见的掉头情况注意事项 最全的左转,右转,待转,掉头方法 开车技巧大汇总,尤其适合新手司机 汽车常识扫盲,不做“汽车小白”! ...

  10. Linux 系统的网络基础_【all】

    网络基础 1.网线:568B: 白橙 橙色 白绿 蓝色 白蓝 绿色 白棕 棕色 2.交换机:电信号转发的网络设备,它可以为接入交换机的任2个网络节点设备提供电信号通信 3.路由器:连接局域网,广域网的 ...