python namespace question
Chris Rebert
clp2 at rebertia.com
Tue Jul 13 23:52:31 EDT 2010
On Tue, Jul 13, 2010 at 8:03 PM, chad <cdalten at gmail.com> wrote:
> Given the following code...
>
> #!/usr/bin/python
>
> class cgraph:
> def printme(self):
> print "hello\n"
>
> x = cgraph()
> x.printme()
>
>
> Does the function print() exist in the cgraph namespace or the
> printme() one?
Neither. It exists in the built-ins namespace along with the rest of
the built-in functions like len(), zip(), hex(), etc. The built-ins is
the namespace of last resort; it's the last one to be consulted when
trying to resolve a name in Python. You can inspect it via
__builtins__
Also, in your example, print is being used as a statement (i.e. part
of the language syntax), not a function; note the odd lack of
parentheses when "calling" it. print was changed to a regular function
in Python 3.x.
Cheers,
Chris
--
http://blog.rebertia.com
More information about the Python-list
mailing list