小白教程

 找回密码
 立即注册

数学运算和分配的快捷方式

发布者: 小白教程

通常在变量上运行数学运算,然后将运算结果分配回该变量,因此存在此类表达式的捷径:

a = 2
a = a * 3

可以写成:

a = 2
a *= 3

请注意,它var = var operation expression变为var operation= expression

评估单

如果您有一个表达式,例如2 + 3 * 4,是先进行加法运算还是进行乘法运算?我们的中学数学告诉我们,乘法应该首先完成。这意味着乘法运算符的优先级高于加法运算符。

下表列出了Python的优先级表,从最低优先级(最小绑定)到最高优先级(最大绑定)。这意味着在给定的表达式中,Python首先将评估表中较低的运算符和表达式,然后才评估表中较高的运算符和表达式。

为了完整起见,提供了下表(摘自Python参考手册)最好使用括号适当地对运算符和操作数进行分组,以便显式指定优先级。这使程序更具可读性。有关详细信息,请参见下面的更改评估顺序

  • lambda :Lambda表达式
  • if - else :条件表达式
  • or :布尔值OR
  • and :布尔AND
  • not x :布尔非
  • in, not in, is, is not, <, <=, >, >=, !=, == :比较,包括成员资格测试和身份测试
  • | :按位或
  • ^ :按位异或
  • & :按位与
  • <<, >> : 转变
  • +, - : 加减
  • *, /, //, % :乘法,除法,底数除法和余数
  • +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

关联性

运算符通常从左到右关联。这意味着具有相同优先级的运算符将以从左到右的方式求值。例如,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,然后使用该print函数将其打印出来在第二种情况下,我们直接2 * (length + breadth)在打印函数中使用表达式的值

另外,请注意Python如何漂亮地打印输出。即使我们没有在'Area is'和变量之间指定空格area,Python也会为我们放置一个空格,以便我们获得干净的输出,并且程序以这种方式更具可读性(因为我们不必担心字符串之间的间距,用于输出)。这是Python如何使程序员的生活变得轻松的示例。

概括

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

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-9-20 06:25 , Processed in 0.017825 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

返回顶部