summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmmar Askar <ammar@ammaraskar.com>2021-04-19 15:22:03 (GMT)
committerGitHub <noreply@github.com>2021-04-19 15:22:03 (GMT)
commit68ba0c67cac10c2545ea3b62d8b161e5b3594edd (patch)
treeca73b43818a06bf2b95c7eeda610016f03bcec98
parent64d975202f7a91cb8c61a050fafb4e934fcbaa4e (diff)
downloadcpython-68ba0c67cac10c2545ea3b62d8b161e5b3594edd.zip
cpython-68ba0c67cac10c2545ea3b62d8b161e5b3594edd.tar.gz
cpython-68ba0c67cac10c2545ea3b62d8b161e5b3594edd.tar.bz2
bpo-43837: Reverse order of precedence table to show tightly binding operators first (GH-25469)
-rw-r--r--Doc/reference/expressions.rst58
1 files changed, 29 insertions, 29 deletions
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst
index 4b4c20b..5b15376 100644
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -1819,8 +1819,8 @@ Operator precedence
.. index::
pair: operator; precedence
-The following table summarizes the operator precedence in Python, from lowest
-precedence (least binding) to highest precedence (most binding). Operators in
+The following table summarizes the operator precedence in Python, from highest
+precedence (most binding) to lowest precedence (least binding). Operators in
the same box have the same precedence. Unless the syntax is explicitly given,
operators are binary. Operators in the same box group left to right (except for
exponentiation, which groups from right to left).
@@ -1833,50 +1833,50 @@ precedence and have a left-to-right chaining feature as described in the
+-----------------------------------------------+-------------------------------------+
| Operator | Description |
+===============================================+=====================================+
-| ``:=`` | Assignment expression |
-+-----------------------------------------------+-------------------------------------+
-| :keyword:`lambda` | Lambda expression |
+| ``(expressions...)``, | Binding or parenthesized |
+| | expression, |
+| ``[expressions...]``, | list display, |
+| ``{key: value...}``, | dictionary display, |
+| ``{expressions...}`` | set display |
+-----------------------------------------------+-------------------------------------+
-| :keyword:`if <if_expr>` -- :keyword:`!else` | Conditional expression |
+| ``x[index]``, ``x[index:index]``, | Subscription, slicing, |
+| ``x(arguments...)``, ``x.attribute`` | call, attribute reference |
+-----------------------------------------------+-------------------------------------+
-| :keyword:`or` | Boolean OR |
+| :keyword:`await` ``x`` | Await expression |
+-----------------------------------------------+-------------------------------------+
-| :keyword:`and` | Boolean AND |
+| ``**`` | Exponentiation [#]_ |
+-----------------------------------------------+-------------------------------------+
-| :keyword:`not` ``x`` | Boolean NOT |
+| ``+x``, ``-x``, ``~x`` | Positive, negative, bitwise NOT |
+-----------------------------------------------+-------------------------------------+
-| :keyword:`in`, :keyword:`not in`, | Comparisons, including membership |
-| :keyword:`is`, :keyword:`is not`, ``<``, | tests and identity tests |
-| ``<=``, ``>``, ``>=``, ``!=``, ``==`` | |
+| ``*``, ``@``, ``/``, ``//``, ``%`` | Multiplication, matrix |
+| | multiplication, division, floor |
+| | division, remainder [#]_ |
+-----------------------------------------------+-------------------------------------+
-| ``|`` | Bitwise OR |
+| ``+``, ``-`` | Addition and subtraction |
+-----------------------------------------------+-------------------------------------+
-| ``^`` | Bitwise XOR |
+| ``<<``, ``>>`` | Shifts |
+-----------------------------------------------+-------------------------------------+
| ``&`` | Bitwise AND |
+-----------------------------------------------+-------------------------------------+
-| ``<<``, ``>>`` | Shifts |
+| ``^`` | Bitwise XOR |
+-----------------------------------------------+-------------------------------------+
-| ``+``, ``-`` | Addition and subtraction |
+| ``|`` | Bitwise OR |
+-----------------------------------------------+-------------------------------------+
-| ``*``, ``@``, ``/``, ``//``, ``%`` | Multiplication, matrix |
-| | multiplication, division, floor |
-| | division, remainder [#]_ |
+| :keyword:`in`, :keyword:`not in`, | Comparisons, including membership |
+| :keyword:`is`, :keyword:`is not`, ``<``, | tests and identity tests |
+| ``<=``, ``>``, ``>=``, ``!=``, ``==`` | |
+-----------------------------------------------+-------------------------------------+
-| ``+x``, ``-x``, ``~x`` | Positive, negative, bitwise NOT |
+| :keyword:`not` ``x`` | Boolean NOT |
+-----------------------------------------------+-------------------------------------+
-| ``**`` | Exponentiation [#]_ |
+| :keyword:`and` | Boolean AND |
+-----------------------------------------------+-------------------------------------+
-| :keyword:`await` ``x`` | Await expression |
+| :keyword:`or` | Boolean OR |
+-----------------------------------------------+-------------------------------------+
-| ``x[index]``, ``x[index:index]``, | Subscription, slicing, |
-| ``x(arguments...)``, ``x.attribute`` | call, attribute reference |
+| :keyword:`if <if_expr>` -- :keyword:`!else` | Conditional expression |
+-----------------------------------------------+-------------------------------------+
-| ``(expressions...)``, | Binding or parenthesized |
-| | expression, |
-| ``[expressions...]``, | list display, |
-| ``{key: value...}``, | dictionary display, |
-| ``{expressions...}`` | set display |
+| :keyword:`lambda` | Lambda expression |
++-----------------------------------------------+-------------------------------------+
+| ``:=`` | Assignment expression |
+-----------------------------------------------+-------------------------------------+