<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
<link rel=
"STYLESHEET" href=
"lib.css" type='text/css'
/>
<link rel=
"SHORTCUT ICON" href=
"../icons/pyfav.png" type=
"image/png" />
<link rel='start' href='../index.html' title='Python Documentation Index'
/>
<link rel=
"first" href=
"lib.html" title='Python Library Reference'
/>
<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=
"doctest-exceptions.html" />
<link rel=
"prev" href=
"doctest-finding-examples.html" />
<link rel=
"parent" href=
"doctest-how-it-works.html" />
<link rel=
"next" href=
"doctest-exceptions.html" />
<meta name='aesop' content='information'
/>
<title>5.2.3.3 What's the Execution Context?
</title>
<div id='top-navigation-panel' xml:id='top-navigation-panel'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"5.2.3.2 How are Docstring"
href=
"doctest-finding-examples.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=
"5.2.3 How It Works"
href=
"doctest-how-it-works.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=
"5.2.3.4 What About Exceptions?"
href=
"doctest-exceptions.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">Python Library Reference
</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'
><a href=
"modindex.html" title=
"Module Index"><img src='../icons/modules.png'
border='
0' height='
32' alt='Module Index' width='
32'
/></a></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>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"doctest-finding-examples.html">5.2.3.2 How are Docstring
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"doctest-how-it-works.html">5.2.3 How It Works
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"doctest-exceptions.html">5.2.3.4 What About Exceptions?
</A>
<!--End of Navigation Panel-->
<H3><A NAME=
"SECTION007233000000000000000"></A><A NAME=
"doctest-execution-context"></A>
5.2.3.3 What's the Execution Context?
By default, each time
<tt class=
"module"><a href=
"module-doctest.html">doctest
</a></tt> finds a docstring to test, it
uses a
<em>shallow copy
</em> of
<tt class=
"module">M
</tt>'s globals, so that running tests
doesn't change the module's real globals, and so that one test in
<tt class=
"module">M
</tt> can't leave behind crumbs that accidentally allow another test
to work. This means examples can freely use any names defined at top-level
in
<tt class=
"module">M
</tt>, and names defined earlier in the docstring being run.
Examples cannot see names defined in other docstrings.
You can force use of your own dict as the execution context by passing
<code>globs=your_dict
</code> to
<tt class=
"function">testmod()
</tt> or
<tt class=
"function">testfile()
</tt> instead.
<div class='online-navigation'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"5.2.3.2 How are Docstring"
href=
"doctest-finding-examples.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=
"5.2.3 How It Works"
href=
"doctest-how-it-works.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=
"5.2.3.4 What About Exceptions?"
href=
"doctest-exceptions.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">Python Library Reference
</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'
><a href=
"modindex.html" title=
"Module Index"><img src='../icons/modules.png'
border='
0' height='
32' alt='Module Index' width='
32'
/></a></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>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"doctest-finding-examples.html">5.2.3.2 How are Docstring
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"doctest-how-it-works.html">5.2.3 How It Works
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"doctest-exceptions.html">5.2.3.4 What About Exceptions?
</A>
<span class=
"release-info">Release
2.4.2, documentation updated on
28 September
2005.
</span>
<!--End of Navigation Panel-->
See
<i><a href=
"about.html">About this document...
</a></i> for information on suggesting changes.