diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-02-20 04:02:38 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-02-20 04:02:38 (GMT) |
commit | ba01dd93d232d3cb088cd61820e814e8c4c95010 (patch) | |
tree | 13a0432365f3f16df057ce62f6ff4e2f16e28448 /Doc/reference | |
parent | 93d83da8e2acc1adc6d9d476f41b4a00f860fca0 (diff) | |
download | cpython-ba01dd93d232d3cb088cd61820e814e8c4c95010.zip cpython-ba01dd93d232d3cb088cd61820e814e8c4c95010.tar.gz cpython-ba01dd93d232d3cb088cd61820e814e8c4c95010.tar.bz2 |
Merged revisions 69769,69776 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r69769 | georg.brandl | 2009-02-19 02:30:06 -0600 (Thu, 19 Feb 2009) | 1 line
#5310, #3558: fix operator precedence table.
........
r69776 | georg.brandl | 2009-02-19 10:34:51 -0600 (Thu, 19 Feb 2009) | 2 lines
#5317: update IronPython URL.
........
Diffstat (limited to 'Doc/reference')
-rw-r--r-- | Doc/reference/expressions.rst | 99 | ||||
-rw-r--r-- | Doc/reference/introduction.rst | 3 |
2 files changed, 47 insertions, 55 deletions
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index 604a8f0..b1717cf 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -785,14 +785,14 @@ number. (In earlier versions it raised a :exc:`ValueError`.) .. _unary: -Unary arithmetic operations -=========================== +Unary arithmetic and bitwise operations +======================================= .. index:: triple: unary; arithmetic; operation triple: unary; bitwise; operation -All unary arithmetic (and bitwise) operations have the same priority: +All unary arithmetic and bitwise operations have the same priority: .. productionlist:: u_expr: `power` | "-" `u_expr` | "+" `u_expr` | "~" `u_expr` @@ -1240,56 +1240,46 @@ comparisons, including tests, which all have the same precedence and chain from left to right --- see section :ref:`comparisons` --- and exponentiation, which groups from right to left). -+----------------------------------------------+-------------------------------------+ -| Operator | Description | -+==============================================+=====================================+ -| :keyword:`lambda` | Lambda expression | -+----------------------------------------------+-------------------------------------+ -| :keyword:`or` | Boolean OR | -+----------------------------------------------+-------------------------------------+ -| :keyword:`and` | Boolean AND | -+----------------------------------------------+-------------------------------------+ -| :keyword:`not` *x* | Boolean NOT | -+----------------------------------------------+-------------------------------------+ -| :keyword:`in`, :keyword:`not` :keyword:`in` | Membership tests | -+----------------------------------------------+-------------------------------------+ -| :keyword:`is`, :keyword:`is not` | Identity tests | -+----------------------------------------------+-------------------------------------+ -| ``<``, ``<=``, ``>``, ``>=``, ``!=``, ``==`` | Comparisons | -+----------------------------------------------+-------------------------------------+ -| ``|`` | Bitwise OR | -+----------------------------------------------+-------------------------------------+ -| ``^`` | Bitwise XOR | -+----------------------------------------------+-------------------------------------+ -| ``&`` | Bitwise AND | -+----------------------------------------------+-------------------------------------+ -| ``<<``, ``>>`` | Shifts | -+----------------------------------------------+-------------------------------------+ -| ``+``, ``-`` | Addition and subtraction | -+----------------------------------------------+-------------------------------------+ -| ``*``, ``/``, ``//``, ``%`` | Multiplication, division, remainder | -+----------------------------------------------+-------------------------------------+ -| ``+x``, ``-x`` | Positive, negative | -+----------------------------------------------+-------------------------------------+ -| ``~x`` | Bitwise not | -+----------------------------------------------+-------------------------------------+ -| ``**`` | Exponentiation | -+----------------------------------------------+-------------------------------------+ -| ``x[index]`` | Subscription | -+----------------------------------------------+-------------------------------------+ -| ``x[index:index]`` | Slicing | -+----------------------------------------------+-------------------------------------+ -| ``x(arguments...)`` | Call | -+----------------------------------------------+-------------------------------------+ -| ``x.attribute`` | Attribute reference | -+----------------------------------------------+-------------------------------------+ -| ``(expressions...)`` | Binding, tuple display, generator | -| | expressions | -+----------------------------------------------+-------------------------------------+ -| ``[expressions...]`` | List display | -+----------------------------------------------+-------------------------------------+ -| ``{expressions...}`` | Dictionary or set display | -+----------------------------------------------+-------------------------------------+ + ++-----------------------------------------------+-------------------------------------+ +| Operator | Description | ++===============================================+=====================================+ +| :keyword:`lambda` | Lambda expression | ++-----------------------------------------------+-------------------------------------+ +| :keyword:`or` | Boolean OR | ++-----------------------------------------------+-------------------------------------+ +| :keyword:`and` | Boolean AND | ++-----------------------------------------------+-------------------------------------+ +| :keyword:`not` *x* | Boolean NOT | ++-----------------------------------------------+-------------------------------------+ +| :keyword:`in`, :keyword:`not` :keyword:`in`, | Comparisons, including membership | +| :keyword:`is`, :keyword:`is not`, ``<``, | tests and identity tests, | +| ``<=``, ``>``, ``>=``, ``<>``, ``!=``, ``==`` | | ++-----------------------------------------------+-------------------------------------+ +| ``|`` | Bitwise OR | ++-----------------------------------------------+-------------------------------------+ +| ``^`` | Bitwise XOR | ++-----------------------------------------------+-------------------------------------+ +| ``&`` | Bitwise AND | ++-----------------------------------------------+-------------------------------------+ +| ``<<``, ``>>`` | Shifts | ++-----------------------------------------------+-------------------------------------+ +| ``+``, ``-`` | Addition and subtraction | ++-----------------------------------------------+-------------------------------------+ +| ``*``, ``/``, ``//``, ``%`` | Multiplication, division, remainder | ++-----------------------------------------------+-------------------------------------+ +| ``+x``, ``-x``, ``~x`` | Positive, negative, bitwise NOT | ++-----------------------------------------------+-------------------------------------+ +| ``**`` | Exponentiation [#]_ | ++-----------------------------------------------+-------------------------------------+ +| ``x[index]``, ``x[index:index]``, | Subscription, slicing, | +| ``x(arguments...)``, ``x.attribute`` | call, attribute reference | ++-----------------------------------------------+-------------------------------------+ +| ``(expressions...)``, | Binding or tuple display, | +| ``[expressions...]``, | list display, | +| ``{key:datum...}``, | dictionary display, | ++-----------------------------------------------+-------------------------------------+ + .. rubric:: Footnotes @@ -1327,3 +1317,6 @@ groups from right to left). descriptors, you may notice seemingly unusual behaviour in certain uses of the :keyword:`is` operator, like those involving comparisons between instance methods, or constants. Check their documentation for more info. + +.. [#] The power operator ``**`` binds less tightly than an arithmetic or + bitwise unary operator on its right, that is, ``2**-1`` is ``0.5``. diff --git a/Doc/reference/introduction.rst b/Doc/reference/introduction.rst index 6959a77..b22d5e0 100644 --- a/Doc/reference/introduction.rst +++ b/Doc/reference/introduction.rst @@ -66,8 +66,7 @@ IronPython An alternate Python for .NET. Unlike Python.NET, this is a complete Python implementation that generates IL, and compiles Python code directly to .NET assemblies. It was created by Jim Hugunin, the original creator of Jython. For - more information, see `the IronPython website - <http://workspaces.gotdotnet.com/ironpython>`_. + more information, see `the IronPython website <http://www.ironpython.com/>`_. PyPy An implementation of Python written in Python; even the bytecode interpreter is |