Волшебные функции Python против %%writefile

#python

#python

Вопрос:

В этом документе говорится, что волшебные функции «всегда окружены двойными символами подчеркивания» (например __init__ or __lt__ , ). Тогда почему %%writefile называется волшебной функцией?

Комментарии:

1. Это специфично для IPython и не является частью спецификации языка.

2. А болваны называются волшебными методами .

Ответ №1:

%%writefile — это магия ячейки IPython, а не волшебный метод. Магия ячеек отличается от магии строк, потому что они идентифицируются двойным%.

Магия ячеек и строк IPyhton специфична для IPython. Смотрите здесь для получения дополнительной информации.

Некоторые конструкции, которые вы можете использовать в IPython, не существуют в Python, и вы получите сообщение об ошибке, если попытаетесь запустить их как команды Python, как указано в руководстве по IPython:

Если не указано иное, вся конструкция, которую вы увидите здесь, вызовет ошибку SyntaxError при запуске в чистой оболочке Python или при выполнении в скрипте Python.

Это потому, что IPython — это набор инструментов, направленных на улучшение интерактивного использования Python, облегчая некоторые повторяющиеся задачи.

Ответ №2:

Если вы имеете в виду эту волшебную команду в IPython (примечание: command, а не function), то это ваш ответ; это конкретное расширение IPython, а не часть самого языка Python.