mirror of
https://github.com/python/cpython.git
synced 2025-12-04 16:43:27 +00:00
A bit of reordering, also show more subheadings in the lang ref index.
This commit is contained in:
parent
2b03d45bb9
commit
745e48dffa
2 changed files with 43 additions and 43 deletions
|
|
@ -17,7 +17,7 @@ write a Python extension module, and the :ref:`c-api-index` describes the
|
||||||
interfaces available to C/C++ programmers in detail.
|
interfaces available to C/C++ programmers in detail.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 3
|
||||||
|
|
||||||
introduction.rst
|
introduction.rst
|
||||||
lexical_analysis.rst
|
lexical_analysis.rst
|
||||||
|
|
|
||||||
|
|
@ -66,48 +66,6 @@ statements yielding ``None`` are not written, so that procedure calls do not
|
||||||
cause any output.)
|
cause any output.)
|
||||||
|
|
||||||
|
|
||||||
.. _assert:
|
|
||||||
|
|
||||||
Assert statements
|
|
||||||
=================
|
|
||||||
|
|
||||||
.. index::
|
|
||||||
statement: assert
|
|
||||||
pair: debugging; assertions
|
|
||||||
|
|
||||||
Assert statements are a convenient way to insert debugging assertions into a
|
|
||||||
program:
|
|
||||||
|
|
||||||
.. productionlist::
|
|
||||||
assert_stmt: "assert" `expression` ["," `expression`]
|
|
||||||
|
|
||||||
The simple form, ``assert expression``, is equivalent to ::
|
|
||||||
|
|
||||||
if __debug__:
|
|
||||||
if not expression: raise AssertionError
|
|
||||||
|
|
||||||
The extended form, ``assert expression1, expression2``, is equivalent to ::
|
|
||||||
|
|
||||||
if __debug__:
|
|
||||||
if not expression1: raise AssertionError, expression2
|
|
||||||
|
|
||||||
.. index::
|
|
||||||
single: __debug__
|
|
||||||
exception: AssertionError
|
|
||||||
|
|
||||||
These equivalences assume that ``__debug__`` and :exc:`AssertionError` refer to
|
|
||||||
the built-in variables with those names. In the current implementation, the
|
|
||||||
built-in variable ``__debug__`` is ``True`` under normal circumstances,
|
|
||||||
``False`` when optimization is requested (command line option -O). The current
|
|
||||||
code generator emits no code for an assert statement when optimization is
|
|
||||||
requested at compile time. Note that it is unnecessary to include the source
|
|
||||||
code for the expression that failed in the error message; it will be displayed
|
|
||||||
as part of the stack trace.
|
|
||||||
|
|
||||||
Assignments to ``__debug__`` are illegal. The value for the built-in variable
|
|
||||||
is determined when the interpreter starts.
|
|
||||||
|
|
||||||
|
|
||||||
.. _assignment:
|
.. _assignment:
|
||||||
|
|
||||||
Assignment statements
|
Assignment statements
|
||||||
|
|
@ -308,6 +266,48 @@ instance variable. For example::
|
||||||
a.x += 1 # writes a.x as 4 leaving A.x as 3
|
a.x += 1 # writes a.x as 4 leaving A.x as 3
|
||||||
|
|
||||||
|
|
||||||
|
.. _assert:
|
||||||
|
|
||||||
|
The :keyword:`assert` statement
|
||||||
|
===============================
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
statement: assert
|
||||||
|
pair: debugging; assertions
|
||||||
|
|
||||||
|
Assert statements are a convenient way to insert debugging assertions into a
|
||||||
|
program:
|
||||||
|
|
||||||
|
.. productionlist::
|
||||||
|
assert_stmt: "assert" `expression` ["," `expression`]
|
||||||
|
|
||||||
|
The simple form, ``assert expression``, is equivalent to ::
|
||||||
|
|
||||||
|
if __debug__:
|
||||||
|
if not expression: raise AssertionError
|
||||||
|
|
||||||
|
The extended form, ``assert expression1, expression2``, is equivalent to ::
|
||||||
|
|
||||||
|
if __debug__:
|
||||||
|
if not expression1: raise AssertionError, expression2
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: __debug__
|
||||||
|
exception: AssertionError
|
||||||
|
|
||||||
|
These equivalences assume that ``__debug__`` and :exc:`AssertionError` refer to
|
||||||
|
the built-in variables with those names. In the current implementation, the
|
||||||
|
built-in variable ``__debug__`` is ``True`` under normal circumstances,
|
||||||
|
``False`` when optimization is requested (command line option -O). The current
|
||||||
|
code generator emits no code for an assert statement when optimization is
|
||||||
|
requested at compile time. Note that it is unnecessary to include the source
|
||||||
|
code for the expression that failed in the error message; it will be displayed
|
||||||
|
as part of the stack trace.
|
||||||
|
|
||||||
|
Assignments to ``__debug__`` are illegal. The value for the built-in variable
|
||||||
|
is determined when the interpreter starts.
|
||||||
|
|
||||||
|
|
||||||
.. _pass:
|
.. _pass:
|
||||||
|
|
||||||
The :keyword:`pass` statement
|
The :keyword:`pass` statement
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue