From 745e48dffa89418b547e0eed3c8697c72826a2a3 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Tue, 18 Sep 2007 07:24:40 +0000 Subject: [PATCH] A bit of reordering, also show more subheadings in the lang ref index. --- Doc/reference/index.rst | 2 +- Doc/reference/simple_stmts.rst | 84 +++++++++++++++++----------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/Doc/reference/index.rst b/Doc/reference/index.rst index 18bf0537a92..a179d21e0db 100644 --- a/Doc/reference/index.rst +++ b/Doc/reference/index.rst @@ -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. .. toctree:: - :maxdepth: 2 + :maxdepth: 3 introduction.rst lexical_analysis.rst diff --git a/Doc/reference/simple_stmts.rst b/Doc/reference/simple_stmts.rst index 7b555346433..69bcd9dae23 100644 --- a/Doc/reference/simple_stmts.rst +++ b/Doc/reference/simple_stmts.rst @@ -66,48 +66,6 @@ statements yielding ``None`` are not written, so that procedure calls do not 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 statements @@ -308,6 +266,48 @@ instance variable. For example:: 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: The :keyword:`pass` statement