Яка різниця між Python та IPython?


220

У чому саме різниця між Python та IPython ?

Якщо я напишу код в Python, чи буде він працювати в IPython таким, який є, чи його потрібно змінювати?

Я знаю, що IPython повинен бути інтерактивною оболонкою для Python, але це все? Або існує мова під назвою IPython? Якщо я напишу щось під IPython, чи буде воно працювати в Python, і навпаки? Якщо є відмінності, то як я можу знати, що вони? Чи працюватимуть усі пакети, які використовує Python, як і в IPython?

Відповіді:


153

ipython це інтерактивна оболонка, побудована з пітона.

З веб-сайту проекту:

IPython пропонує багатий набір інструментів, який допоможе вам максимально використати Python, використовуючи:

  • Потужні оболонки Python (термінальні та на основі Qt).
  • Веб-зошит із тими ж основними функціями, але підтримка коду, тексту, математичних виразів, вбудованих сюжетів та інших мультимедійних засобів.
  • Підтримка інтерактивної візуалізації даних та використання наборів інструментів GUI.
  • Гнучкі та вбудовувані перекладачі для завантаження у власні проекти.
  • Прості у використанні, високопродуктивні інструменти для паралельних обчислень.

Зауважте, що перші два рядки говорять про те, що це допомагає вам максимально використати Python. Таким чином, вам не потрібно змінювати код, оболонка IPython запускає ваш код python так само, як і звичайна оболонка python, лише з додатковими функціями.

Я рекомендую прочитати підручник з IPython, щоб зрозуміти, які функції ви отримуєте під час використання IPython.


8
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

Чи можете ви дати коментар щодо швидкості виконання ipython vs python? Я маю на увазі чистий ipython, а не ноутбук ipython, який би залучав браузер.
Джейсон

2
@Jason: це точно такий же цикл оцінки. У шарі презентації може бути деякий накладний розбір (розбір команд ipython, гарне друк виводу виразу), але це все постійні витрати. Так що в основному дуже і дуже мало різниці.
Мартійн Пітерс

19

IPython - це в основному "рекомендована" оболонка Python, яка надає додаткові можливості. Немає мови під назвою IPython.


IPython - це лише відповідь ??
Містер Сур’я Джа

@ Mr.SuryaaJha Це REPL, але є також просто стандартний REPL пітона (що ви отримуєте при введенні pythonоболонки).
BallpointBen

16

Навіть переглянувши цю тему, я подумав, що ipython є синонімом оболонки python, інакше кажучи, що введення python у командному рядку переводить його в режим ipython.

Насправді, як згадувалося вище, дуже крута інтерактивна оболонка (програма командного рядка), яку можна встановити з iPython.org або просто запустивши

pip install ipython

або більш широкий:

pip install ipython[notebook]

з командного рядка.


1
Добре, @Roadowl Я думаю, що сказати "інтерактивна оболонка" є трохи зайвим, чи не так.
MikeiLL

@Roadowl: (через рік, але все ж ...) Як щодо будь-якої оболонки, що запускає сценарій неінтерактивним способом? Можливо, простий приклад: $ sh -c 'foobar=3.14159'... або, можливо, я неправильно зрозумів ваш коментар.
Cbhihe

12

IPython - це потужний інтерактивний інтерпретатор Python, який більш інтерактивний порівняно зі стандартним перекладачем.

Щоб отримати стандартний інтерпретатор Python, який ви вводите, pythonі ви отримаєте >>>підказку, де можете працювати.

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

Навіть ви перебуваєте в Python, ви можете запускати команди оболонки прямо як !ping www.google.com. Схоже, в командному рядку блокнот Юпітера, якщо ви використовували його раніше.

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


6

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

Найкраща частина IPython - це ноутбук IPython. Ви можете помістити всю свою роботу в зошит, такий як сценарій, файли зображень тощо. Але з базовим Python ви можете лише зробити сценарій у файлі та виконати його.

На початку вам потрібно зрозуміти, що IPython розроблений з метою підтримки мультимедіа та сценарію Python в єдиному інтегрованому контейнері.


6

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

Ви можете встановити Ipython за допомогою pip -pip install ipython

Ви можете запустити Ipython , ввівши ipythonу вікно вашого терміналу.


2

Зі свого досвіду я виявив, що деякі команди, які виконуються в IPython, не запускаються в базовому Python. Наприклад, pwdі lsне працюватимуть окремо в базовому Python. Однак вони працюватимуть, якщо вони будуть готові до %таких, як: %pwdі %ls.

Крім того, в IPython ви можете запустити команду cd на зразок: cd C:\Users\... Це, здається, не працює в базовому python, навіть якщо він збігається з однаковим %.


3
import os; os.system('pwd')це так, як я роблю це в Python.
Усі Іѕ Вааііти

2
Усі %команди є командами ipython і не працюють у звичайному інтерактивному сеансі Python. Це включає %pwdі %ls. %Префікс НЕ є обов'язковим і потрібно тільки , коли немає ніякого конфлікту з Python Global в поточному сеансі.
Martijn Pieters
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.