Вопрос по python, ipython – В чем разница между Python и IPython?

193

В чем именно разница между Python иIPython?

Если я напишу код на Python, будет ли он работать в IPython как есть или его нужно будет изменить?

Я знаю, что IPython должен быть интерактивной оболочкой для Python, но это все? Или есть язык под названием IPython? Если я напишу что-нибудь под IPython, будет ли он работать на Python, и наоборот? Если есть различия, как я узнаю, что они есть? Будут ли все пакеты, используемые Python, работать как в IPython?

Ваш Ответ

7   ответов
1

IPython является мощным интерактивным интерпретатором Python, который более интерактивен по сравнению со стандартным интерпретатором.

Чтобы получить стандартный интерпретатор Python, введитеpython и вы получите>>> подскажите откуда можно работать.

Чтобы получить интерпретатор IPython, вам нужно сначала установить его.pip install ipython, Вы печатаетеipython и вы получитеIn [1]: как подсказка, и вы получитеIn [2]: для следующей команды. Ты можешь позвонитьhistory проверить список предыдущих команд и написать%recall 1 вспомнить команду.

Даже если вы находитесь в Python, вы можете запускать команды оболочки прямо как!ping www.google.com, Похоже на командную строку ноутбука Юпитера, если вы использовали это раньше.

Ты можешь использовать[Tab] для автозаполнения, как показано на рисунке.

13

что ipython является синонимом оболочки python, иными словами, ввод python в командной строке переводит его в режим ipython.

На самом деле, как упоминалось выше, это очень классная интерактивная оболочка (программа командной строки), которую можно установить изiPython.org или просто запустив

pip install ipython

или более обширный:

pip install ipython[notebook]

из командной строки.

Можете ли вы указать мне на оболочку, которая НЕ является интерактивной? Roadowl
Хороший вопрос, @Roadowl Я думаю, говоря "интерактивная оболочка " немного избыточно нет это. MikeiLL
@Roadowl: (год спустя, но все же ...) Как насчет любой оболочки, выполняющей сценарий неинтерактивным способом? Может быть простой пример:$ sh -c 'foobar=3.14159' ... или, может быть, я неправильно понял ваш комментарий. Cbhihe
1

что некоторые команды, которые работают в IPython, не работают в базовом Python. Например,pwd а такжеls дон»не работает один в базе Python. Однако они будут работать, если предваряется% такие как:%pwd а также .%ls

Кроме того, в IPython вы можете запустить команду cd, например:cd C:\Users\... это некажется, работает в базовом Python, даже если с предваряющим% тем не мение.

import os; os.system('pwd') это способ, которым я делаю это в Python. Marty
Все% Команды являются командами ipython и не работают в обычном интерактивном сеансе Python. Это включает%pwd а также%ls,% префикс является необязательным и требуется только при наличииНет конфликта с глобальным Python в вашей текущей сессии. Martijn Pieters
5

IPython (созданный Фернандо Пересом в 2001 году) может делать все, что может делать Python. Ipython предоставляет даже дополнительные функции, такие как завершение табуляции, тестирование, отладка, системные вызовы и многие другие функции. Вы можете считать IPython мощным интерфейсом к языку Python.

Вы можете установитьIPython используя пункт -pip install ipython

Вы можете запуститьIPython набравipython в окне вашего терминала.

141

ipython это интерактивная оболочка, построенная на Python

С сайта проекта:

IPython предоставляет богатый инструментарий, который поможет вам максимально эффективно использовать Python, с:

Мощные оболочки Python (на основе терминала и Qt).Сетевой блокнот с теми же основными функциями, но с поддержкой кода, текста, математических выражений, встроенных графиков и других мультимедийных материалов.Поддержка интерактивной визуализации данных и использование инструментария GUI.Гибкие, встраиваемые интерпретаторы для загрузки в ваши собственные проекты.Простые в использовании, высокопроизводительные инструменты для параллельных вычислений.

Обратите внимание, что первые 2 строки говорят вам, что это поможет вам максимально использовать Python. Таким образом, вы неЕсли вам нужно изменить ваш код, оболочка IPython выполняет ваш код на Python так же, как обычная оболочка Python, только с большим количеством функций.

Я рекомендую прочитатьIPython учебник чтобы понять, какие функции вы получаете при использовании IPython.

@ Джейсон: этоточно такой же цикл оценки. На уровне представления могут быть некоторые издержки (разбор команд ipython, приятная печать вывода выражения), но это 'Все это постоянные расходы. Так что, в принципе, очень, очень маленькая разница. Martijn Pieters
Можете ли вы прокомментировать скорость выполнения ipython против python? Я имею в виду чистый ipython, а не ноутбук ipython, в котором бы использовался браузер. Jason
Thus, you don't need to alter your code, the IPython shell runs your python code just like the normal python shell does Благодарю. Это все, что мне нужно было знать. Asdfsdjlka Asdfsdjlka
5

но они представляют собой лишь интерпретацию немногих синтаксисов, подобных тем, которые были упомянуты @Ryan Chase, но глубоко внутри истинный вкус Python поддерживается даже в Ipython.

Лучшая часть IPython - это ноутбук IPython. Вы можете поместить всю свою работу в блокнот, например, скрипт, файлы изображений и т. Д. Но с базовым Python вы можете только сделать скрипт в файле и выполнить его.

Для начала вам необходимо понять, что IPython разрабатывается с целью поддержки мультимедиа и сценариев Python в одном интегрированном контейнере.

14

рекомендуемые" Оболочка Python, которая предоставляет дополнительные функции. Нет языка под названием IPython.

IPython - это просто REPL ?? Mr. Suryaa Jha
@ Mr.SuryaaJha Это REPL, но есть и просто стандартный python REPL (что вы получаете, когда вы печатаетеpython в оболочке). BallpointBen

Похожие вопросы