Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sage
Path: blob/develop/src/doc/zh/tutorial/appendix.rst
4086 views
****
附录
****

.. _section-precedence:

算术二元运算符的优先级
======================

``3^2*4 + 2%5`` 的结果是什么?这里的结果 (38) 取决于下面的“运算符优先级表”。
下面的表格基于 G. Rossum 和 F. Drake 编写的 *Python语言参考手册* §5.14 中的表格。
这里列出的操作按优先级从低到高排列。


==========================  =================
运算符                       描述
==========================  =================
or                          布尔或
and                         布尔与
not                         布尔非
in, not in                  成员判断
is, is not                  同一性测试
>, <=, >, >=, ==, !=        比较
+, -                        加法,减法
\*, /, %                    乘法,除法,取余
\*\*, ^                     幂
==========================  =================

因此,为了计算 ``3^2*4 + 2%5``,Sage 将计算过程括号化为:  ``((3^2)*4) + (2%5)``。
从而,首先计算 ``3^2``,结果为 ``9``,然后分别计算 ``(3^2)*4`` 和 ``2%5``,最后将结果相加。