python namespace question

chad cdalten at gmail.com
Tue Jul 13 23:48:29 EDT 2010


On Jul 13, 8:37 pm, Steven D'Aprano <steve-REMOVE-
T... at cybersource.com.au> wrote:
> On Tue, 13 Jul 2010 20:03:14 -0700, chad 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?
>
> What function print()? You're calling the print STATEMENT. It doesn't
> exist in any namespace, it's a Python keyword like "if", "for", "return",
> and similar.
>
> Note: this changes in Python 3, where print becomes a function like
> len(), chr(), max(), and similar. In Python 3, you would write:
>
> print("hello\n")
>
> and the function lives in the built-in namespace.
>
> BTW, print (both versions) automatically prints a newline at the end of
> the output, so printing "hello\n" will end up with an extra blank line.
> Is that what you wanted?
>


I could care less about the extra blank line. I guess I was just more
concerned about the namespace question.




More information about the Python-list mailing list