#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.