When I was exploring a solution for the StackOverflow problem, Python Use User Defined String Class, I came with this strange python behavior.
def overriden_print(x):
print "Overriden in the past!"
from __future__ import print_function
print = overriden_print
print("Hello World!")
Output:
Overriden in the past!
Now, how can I get back the original print
behavior in python interpreter?
Just delete the override:
del print
This deletes the name from the globals()
dictionary, letting search fall back to the built-ins.
You can always refer directly to the built-in via the __builtin__
module as well:
import __builtin__ __builtin__.print('Printing with the original built-in')
In Python 3, the module has been renamed to builtins
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With