Подтвердить что ты не робот

Как вернуть обратно переопределенную встроенную функцию python?

Когда я изучал решение проблемы StackOverflow, Python Use User Defined String Class, я пришел с этим странным поведением python.

def overriden_print(x):
    print "Overriden in the past!"

from __future__ import print_function

print = overriden_print

print("Hello World!")

Вывод:

Слишком поздно!

Теперь, как я могу вернуть исходное поведение print в интерпретаторе python?

4b9b3361

Ответ 1

Просто удалите переопределение:

del print

Это удаляет имя из словаря globals(), позволяя поиску возвращаться к встроенным.

Вы всегда можете обратиться непосредственно к встроенному через модуль __builtin__ :

import __builtin__

__builtin__.print('Printing with the original built-in')

В Python 3 модуль был переименован в builtins.