set variable to "print" in python 2 -
i want have alias print statement. following method fails syntaxerror
:
>>> = print
how can i, if @ all, set new alias print statement? python version -> 2.7
normally, can't shadow python keywords (which used make python "statements" such print
, for
, exec
, if
, ...). however, print
special. ease compatibility python3.x, can drop print statement using
from __future__ import print_function
at top of module (before other imports other non-__future__
imports).
this disables print
statement , unshadows print
function (which can shadow once more whatever user defined function want). e.g. (from repl):
python 2.7.10 (default, oct 23 2015, 18:05:06) [gcc 4.2.1 compatible apple llvm 7.0.0 (clang-700.0.59.5)] on darwin type "help", "copyright", "credits" or "license" more information. >>> __future__ import print_function >>> def foo(): pass ... >>> print = foo >>> >>> print('foo') traceback (most recent call last): file "<stdin>", line 1, in <module> typeerror: foo() takes no arguments (1 given)
with said, think aliasing builtin functions bad idea. future readers of code (including yourself) confused when try use code , print
doesn't conditioned believe. remember zen of python (import this
):
...
readability counts.
...
Comments
Post a Comment