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.
........
This commit is contained in:
Benjamin Peterson 2009-02-20 04:02:38 +00:00
parent 93d83da8e2
commit ba01dd93d2
2 changed files with 47 additions and 55 deletions

View File

@ -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``.

View File

@ -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