Minor editorial changes.

This commit is contained in:
Barry Warsaw 2000-08-23 05:57:47 +00:00
parent 64fe351eed
commit 01fc25eeb0
1 changed files with 29 additions and 31 deletions

View File

@ -1,37 +1,38 @@
PEP: 221
Title: Import As
Version: $Revision$
Owner: thomas@xs4all.net (Thomas Wouters)
Python-Version: 2.0
Author: thomas@xs4all.net (Thomas Wouters)
Status: Accepted
Created: 15-Aug-2000
Type: Standard
Python-Version: 2.0
Created: 15-Aug-2000
Post-History:
Introduction
This PEP describes the `import as' proposal for Python 2.0. This
PEP tracks the status and ownership of this feature. It contains a
description of the feature and outlines changes necessary to
PEP tracks the status and ownership of this feature. It contains
a description of the feature and outlines changes necessary to
support the feature. The CVS revision history of this file
contains the definitive historical record.
Rationale
This PEP proposes a small extention of current Python syntax
regarding the `import' and `from <module> import' statements.
These statements load in a module, and either bind that module to
a local name, or binds objects from that module to a local name.
However, it is sometimes desirable to bind those objects to a
different name, for instance to avoid name clashes. Currently, a
round-about way has to be used to achieve this:
This PEP proposes an extention of Python syntax regarding the
`import' and `from <module> import' statements. These statements
load in a module, and either bind that module to a local name, or
binds objects from that module to a local name. However, it is
sometimes desirable to bind those objects to a different name, for
instance to avoid name clashes. This can currently be achieved
using the following idiom:
import os
real_os = os
del os
And similar for the `from ... import' statement:
And similarly for the `from ... import' statement:
from os import fdopen, exit, stat
os_fdopen = fdopen
@ -54,11 +55,10 @@ Rationale
import os.path
The actual name stored locally is `os', not `path' (so that the
newly imported module can be referenced as `os.path'.) When
introducing the `as' keyword, it is unclear whether the `os'
module or the `path' sub-module should be stored `as' the
requested local name.
The actual name stored locally is `os', not `path', and the newly
imported module can be referenced as `os.path'. When introducing
the `as' keyword, it is unclear whether the `os' module or the
`path' sub-module should be stored `as' the requested local name.
Implementation details
@ -79,8 +79,8 @@ Implementation details
into the local namespace.
An additional change to this syntax has also been suggested, to
generalize the expression given after the `as' clause. Rather than
a single name, it could be allowed to be any expression that
generalize the expression given after the `as' clause. Rather
than a single name, it could be allowed to be any expression that
yields a valid l-value; anything that can be assigned to. The
change to accomodate this is minimal, as the patch proves[2], and
the resulting generalization allows a number of new constructs
@ -103,11 +103,9 @@ Copyright
References
[1]
http://sourceforge.net/patch/?func=detailpatch&patch_id=101135&group_id=5470
[1] http://sourceforge.net/patch/?func=detailpatch&patch_id=101135&group_id=5470
[2]
http://sourceforge.net/patch/?func=detailpatch&patch_id=101234&group_id=5470
[2] http://sourceforge.net/patch/?func=detailpatch&patch_id=101234&group_id=5470