Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / html / python / ref / dynamic-features.html
<!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.png" type="image/png" />
<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="prev" href="naming.html" />
<link rel="parent" href="naming.html" />
<link rel="next" href="exceptions.html" />
<meta name='aesop' content='information' />
<title>4.1.1 Interaction with dynamic features </title>
</head>
<body>
<DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="4.1 Naming and binding"
href="naming.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="4.1 Naming and binding"
href="naming.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="4.2 Exceptions"
href="exceptions.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="naming.html">4.1 Naming and binding</A>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="naming.html">4.1 Naming and binding</A>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="exceptions.html">4.2 Exceptions</A>
</div>
<hr /></div>
</DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION006110000000000000000"></A><A NAME="dynamic-features"></A>
<BR>
4.1.1 Interaction with dynamic features
</H2>
<P>
There are several cases where Python statements are illegal when
used in conjunction with nested scopes that contain free
variables.
<P>
If a variable is referenced in an enclosing scope, it is illegal
to delete the name. An error will be reported at compile time.
<P>
If the wild card form of import -- "<tt class="samp">import *</tt>" -- is used in a
function and the function contains or is a nested block with free
variables, the compiler will raise a SyntaxError.
<P>
If <tt class="keyword">exec</tt> is used in a function and the function contains or
is a nested block with free variables, the compiler will raise a
<tt class="exception">SyntaxError</tt> unless the exec explicitly specifies the local
namespace for the <tt class="keyword">exec</tt>. (In other words, "<tt class="samp">exec obj</tt>"would be illegal, but "<tt class="samp">exec obj in ns</tt>" would be legal.)
<P>
The <tt class="function">eval()</tt>, <tt class="function">execfile()</tt>, and <tt class="function">input()</tt>
functions and the <tt class="keyword">exec</tt> statement do not have access to the
full environment for resolving names. Names may be resolved in the
local and global namespaces of the caller. Free variables are not
resolved in the nearest enclosing namespace, but in the global
namespace.<A NAME="tex2html3"
HREF="#foot3527"><SUP>4.1</SUP></A>The <tt class="keyword">exec</tt> statement and the <tt class="function">eval()</tt> and
<tt class="function">execfile()</tt> functions have optional arguments to override
the global and local namespace. If only one namespace is specified,
it is used for both.
<P>
<BR><HR><H4>Footnotes</H4>
<DL>
<DT><A NAME="foot3527">...
namespace.</A><A
href="dynamic-features.html#tex2html3"><SUP>4.1</SUP></A></DT>
<DD>This limitation occurs because the code that is
executed by these operations is not available at the time the
module is compiled.
</DD>
</DL>
<DIV CLASS="navigation">
<div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="4.1 Naming and binding"
href="naming.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="4.1 Naming and binding"
href="naming.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="4.2 Exceptions"
href="exceptions.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="naming.html">4.1 Naming and binding</A>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="naming.html">4.1 Naming and binding</A>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="exceptions.html">4.2 Exceptions</A>
</div>
</div>
<hr />
<span class="release-info">Release 2.4.2, documentation updated on 28 September 2005.</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>