[SciPy-dev] P3 - my education [was: change print statements to print functions in docstrings]
Sat Aug 15 14:18:35 CDT 2009
(Replying in public in the vain -- in both senses -- hope that this
might finish the discussion.)
> Um, why? Perhaps it stems from one's personal preference regarding the way
> one prefers to program? Having "grown-up" a procedural programmer, I'm now
> an OO "true believer," though I feel that one of Python's greatest strengths is
> that it fully supports "going both ways"; because of that, I feel neither function
> nor method has the edge in being more Pythonic.
In 2.x, print is neither a function nor a method. It's a statement
with its own syntax, comparable to "for" or "try" or "if". (And it's
actually relatively bizarre syntax -- there's a special construct
involving ">>" for directing print output to a file that's totally
unlike anything else in Python, etc.) This is confusing, especially
for newcomers, because the first 'function-like' operation they learn
follows its own rules that don't generalize to anything else.
Also, this makes it possible to have variables, methods, functions in
a local scope that are named "print", which might be handy sometimes:
def print(self, document): # <-- in 2.x this is a syntax error
In any case, it is the way it is, at this point -- 3.0 was released
last year :-).
More information about the Scipy-dev