Sophie

Sophie

distrib > Mandriva > 10.1 > i586 > by-pkgid > ccf83290023404568bb21aa0163b385f > files > 1118

python-docs-2.3.4-6.2.101mdk.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="STYLESHEET" href="ref.css" type='text/css' />
<link rel="SHORTCUT ICON" href="../icons/pyfav.gif" />
<link rel='start' href='../index.html' title='Python Documentation Index' />
<link rel="first" href="ref.html" title='Python Reference Manual' />
<link rel='contents' href='contents.html' title="Contents" />
<link rel='index' href='genindex.html' title='Index' />
<link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...' />
<LINK rel="next" href="assignment.html">
<LINK rel="prev" href="exprstmts.html">
<LINK rel="parent" href="simple.html">
<LINK rel="next" href="assignment.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name='aesop' content='information' />
<META name="description" content="Assert statements ">
<META name="keywords" content="ref">
<META name="resource-type" content="document">
<META name="distribution" content="global">
<title>6.2 Assert statements </title>
</head>
<body>
<DIV CLASS="navigation">
<div id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="6.1 Expression statements" 
  href="exprstmts.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
<td class='online-navigation'><a rel="parent" title="6. Simple statements" 
  href="simple.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
<td class='online-navigation'><a rel="next" title="6.3 Assignment statements" 
  href="assignment.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">Python Reference Manual</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents" 
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></A></td>
<td class='online-navigation'><img src='../icons/blank.png'
  border='0' height='32'  alt='' width='32' /></td>
<td class='online-navigation'><a rel="index" title="Index" 
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></A></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="exprstmts.html">6.1 Expression statements</A>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="simple.html">6. Simple statements</A>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="assignment.html">6.3 Assignment statements</A>
</div>
<hr /></div>
</DIV>
<!--End of Navigation Panel-->

<H1><A NAME="SECTION008200000000000000000"><!--x--></A><A NAME="assert"><!--z--></A>
<BR>
6.2 Assert statements 
</H1>

<P>
Assert statements<a id='l2h-456'><!--x--></a> are a convenient way to insert
debugging assertions<a id='l2h-457'><!--x--></a> into a program:

<P>
<dl><dd class="grammar">
<div class="productions">
<table cellpadding="2">
<tr valign="baseline">
    <td><code><a id='tok-assert_stmt'>assert_stmt</a></code></td>
    <td>&nbsp;::=&nbsp;</td>
    <td><code>"assert" <a href="Booleans.html#tok-expression">expression</a> ["," <a href="Booleans.html#tok-expression">expression</a>]</code></td></tr>
</table>
</div>
<a class="grammar-footer"
  href="grammar.txt" type="text/plain"
  >Download entire grammar as text.</a>
</dd></dl>

<P>
The simple form, "<tt class="samp">assert expression</tt>", is equivalent to

<P>
<div class="verbatim"><pre>
if __debug__:
   if not expression: raise AssertionError
</pre></div>

<P>
The extended form, "<tt class="samp">assert expression1, expression2</tt>", is
equivalent to

<P>
<div class="verbatim"><pre>
if __debug__:
   if not expression1: raise AssertionError, expression2
</pre></div>

<P>
These equivalences assume that <code>__debug__</code><a id='l2h-459'><!--x--></a> and
<tt class="exception">AssertionError</tt><a id='l2h-458'><!--x--></a> refer to the built-in
variables with those names.  In the current implementation, the
built-in variable <code>__debug__</code> is 1 under normal circumstances, 0
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.

<P>
Assignments to <code>__debug__</code> are illegal.  The value for the
built-in variable is determined when the interpreter starts.

<P>

<DIV CLASS="navigation">
<div class='online-navigation'><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="6.1 Expression statements" 
  rel="prev" title="6.1 Expression statements" 
  href="exprstmts.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
<td class='online-navigation'><a rel="parent" title="6. Simple statements" 
  rel="parent" title="6. Simple statements" 
  href="simple.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
<td class='online-navigation'><a rel="next" title="6.3 Assignment statements" 
  rel="next" title="6.3 Assignment statements" 
  href="assignment.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">Python Reference Manual</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents" 
  rel="contents" title="Table of Contents" 
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></A></td>
<td class='online-navigation'><img src='../icons/blank.png'
  border='0' height='32'  alt='' width='32' /></td>
<td class='online-navigation'><a rel="index" title="Index" 
  rel="index" title="Index" 
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></A></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="exprstmts.html">6.1 Expression statements</A>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="simple.html">6. Simple statements</A>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="assignment.html">6.3 Assignment statements</A>
</div>
</div>
<hr />
<span class="release-info">Release 2.3.4, documentation updated on May 20, 2004.</span>
</DIV>
<!--End of Navigation Panel-->
<ADDRESS>
See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
</ADDRESS>
</BODY>
</HTML>