2.5 运算顺序

当一个表达式中有多于一个运算符时,计算的顺序由运算顺序(order of operations) 决定。对于算数运算符,Python 遵循数学里的惯例。缩写 PEMDAS 有助于帮助大家记住这些规则:

• 括号 (Parentheses) 具有最高的优先级,并且可以强制表达式按你希望的顺序计算。因为在括号中的表达式首先被计算,那么 2 * (3−1) 的结果是 4,(1+1)**(5−2) 的结果是 8。你也可以用括号提高表达式的可读性,如写成 (minute * 100) / 60,即使这样并不改变运算的结果。

• 指数运算 (Exponentiation) 具有次高的优先级,因此 1 + 2**3 的结果是 9 而非 27, 2 * 3**2 的结果是 18 而非 36。 ,'2 '−'1 ' ' eggs '/' easy ' ' third '*'a␣charm ' , >>> first = ' throat ' >>> second = ' warbler ' >>> first + second throatwarbler

2.6 字符串运算 15

• 乘法 (Multiplication) 和除法 (Division) 有相同的优先级,比加法 (Addition) 和减法 (Subtraction) 高,加法和减法也具有相同的优先级。因此 2*3−1 是 5 而非 4, 6+4/2 是 8 而非 5。

• 具有相同优先级的运算符按照从左到右的顺序进行计算(除了指数运算)。因此 表达式degrees / 2 * pi 中,除法先运算,然后结果被乘以 pi。为了被 2π 除,你可以使用括号,或者写成degrees / 2 / pi。

我不会费力去记住这些运算符的优先级规则。如果看完表达式后分不出优先级,我会使 用括号使计算顺序变得更明显。

[云炬ThinkPython阅读笔记]2.5 运算顺序相关推荐

  1. [云炬ThinkPython阅读笔记]2.6 字符串运算

    [云炬ThinkPython阅读笔记]1.8 术语表

  2. [云炬ThinkPython阅读笔记]2.3 表达式和语句

    [云炬ThinkPython阅读笔记]1.8 术语表

  3. [云炬ThinkPython阅读笔记]2.9 术语表

    变量(variable): 变量是指向某个值的名称. 赋值语句(assignment): 将某个值赋给变量的语句. 状态图 (state diagram): 变量及其所指的值的图形化表示. 关键字 ( ...

  4. [云炬ThinkPython阅读笔记]1.4 算术运算符

    最后,运算符 * 执行乘方运算:也就是说,它将某个数字乘以自身相应的次数: ✞ >>> 6**2 + 6 42 ✆ 某些语言使用 ^ 运算符执行乘方运算,但是在 Python 中,它 ...

  5. [云炬ThinkPython阅读笔记]2.7 注释

    2.7 注释 随着程序变得越写越长,越来越复杂,它们的可读性也越来越差.形式语言是稠密的, 通常很难在读一段代码后,说出其做什么或者为什么这样做. 1string concatenation , # ...

  6. [云炬ThinkPython阅读笔记]1.6 形式语言和自然语言

    1.6 形式语言和自然语言 自然语言 (natural language) 是人们交流所使用的语言,例如英语.西班牙语和法语.它们不是人为设计出来的(尽管有人试图这样做):而是自然演变而来. 形式语言 ...

  7. [云炬ThinkPython阅读笔记]3.4 增加新函数

    3.4 增加新函数 目前为止,我们只使用了Python 自带的函数,但是增加新函数也是可能的.一个函数定义(function definition) 指定了新函数的名称以及当函数被调用时执行的语句序列 ...

  8. [云炬ThinkPython阅读笔记]3.3 构建

  9. [云炬ThinkPython阅读笔记]3.1 函数调用

    第三章 函数 在编程的语境下,函数 (function) 是指一个有命名的.执行某个计算的语句序列 (se- quence of statements) .在定义一个函数的时候,你需要指定函数的名字和 ...

最新文章

  1. 【干货】史上最全的Tensorflow学习资源汇总,速藏!
  2. The Annotated Transformer
  3. select点击option获取文本输入框的焦点事件
  4. ios加载本地游戏html,使用WKWebView iOS加载本地HTML / Javascript
  5. 电脑配置及价格_游戏主机推荐 AMD锐龙R52600X配RTX2060组装电脑配置清单及价格
  6. vue项目工程中npm run dev 到底做了什么
  7. .NET中的设计模式---由吃龙虾想到的
  8. 从一个视图控制器切换到另一个视图控制器的几种方式
  9. 数据在内存中的存储(二进制形式存储)
  10. 计算机组成原理 陈泽,计算机组成原理 课程设计计算机组成原理 课程设计.doc...
  11. HTML表格——使用CSS冻结行和列
  12. (8)安装适合cuda10.0的显卡驱动(显卡940M升级驱动)
  13. XXXXXXXXXXX
  14. 女生学计算机好吗有辐射,电脑辐射对女人有害吗
  15. jsx中文是什么牌子口红_娇尚秀JSX方管口红怎么样 – 爱分享
  16. 常规技术面试题(SQL数据库)
  17. ADI Blackfin DSP处理器-BF533的开发详解41:图像处理专题-LinearTransform图像线性变换处理(含源码)
  18. G++编译带图标的exe文件
  19. 【电源设计】03Boost开关电源
  20. 【Python】使用Python操作XLSX数据表

热门文章

  1. C语言函数中的参数有const的问题
  2. 2星|《深度模仿》:陷入锤子模式,案例太少,洞察力欠缺
  3. 【转】.NET NPOI操作Excel常用函数
  4. 毕业后的五年拉开大家差距的原因在哪里?
  5. Properties类的应用
  6. CodeForces 459C(构造题)
  7. nyoj3533D dungeon
  8. docker18.09.3修改守护进程配置文件不生效问题
  9. docker 启动mongodb
  10. 十二:NodeManager