PythonとIPythonの違いは何ですか?


220

PythonとIPythonの違いは何ですか?

Pythonでコードを記述した場合、IPythonでそのまま実行されますか、それとも変更する必要がありますか?

IPythonはPythonのインタラクティブシェルになるはずですが、それだけですか?またはIPythonと呼ばれる言語はありますか?IPythonで何かを書いた場合、それはPythonで実行されますか?違いがある場合、どうすればそれらを知ることができますか?Pythonで使用されるすべてのパッケージはIPythonのように機能しますか?

回答:


153

ipython Pythonで構築されたインタラクティブなシェルです。

プロジェクトのウェブサイトから:

IPythonは、Pythonを最大限に活用するための豊富なツールキットを提供します。

  • 強力なPythonシェル(ターミナルおよびQtベース)。
  • 同じコア機能を備えたWebベースのノートブックですが、コード、テキスト、数式、インラインプロット、その他のリッチメディアをサポートしています。
  • インタラクティブなデータ視覚化とGUIツールキットの使用のサポート。
  • 独自のプロジェクトにロードするための柔軟で埋め込み可能なインタープリター。
  • 並列計算のための使いやすい高性能ツール。

最初の2行は、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 2012

ipythonとpythonの実行速度についてコメントをいただけますか?私は純粋なipythonを意味し、ブラウザーを必要とするipythonノートブックではありません。
Jason

2
@ジェイソン:まったく同じ評価ループです。プレゼンテーションレイヤー(ipythonコマンドの解析、式の出力のきれいな出力)にオーバーヘッドがあるかもしれませんが、それはすべて一定のコストです。ですから、基本的に、非常に、非常に小さな違いです。
Martijn Pieters

19

IPythonは基本的に、「推奨」Pythonシェルであり、追加機能を提供します。IPythonと呼ばれる言語はありません。


IPythonは単なるREPLですか?
Suryaa Jha氏

@ Mr.SuryaaJhaこれはREPLですが、標準のPython REPL(pythonシェルに入力したときに得られるもの)もあります。
BallpointBen

16

このスレッドを見た後でも、ipythonはpythonシェルの同義語であると考えていました。つまり、コマンドラインでpythonと入力すると、ipythonモードになります。

実際、上記で参照したように、iPython.orgから、または単に実行することでインストールできる非常に優れたインタラクティブシェル(コマンドラインプログラム)です。

pip install ipython

またはより広範な:

pip install ipython[notebook]

コマンドラインから。


1
良い点、@ Roadowl「インタラクティブシェル」は少し冗長だと思います。
MikeiLL 2015年

@Roadowl:(1年後ですが、それでも...)非インタラクティブな方法でスクリプトを実行しているシェルはどうですか?多分単純な例:$ 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。以前に使用した場合、コマンドラインJupiterノートブックのように見えます。

[Tab]画像に示すように、オートコンプリートに使用できます。 ここに画像の説明を入力してください


6

PythonとIPythonの間の違いはほとんどありませんが、それらは@Ryan Chaseによって言及された構文のようないくつかの構文の解釈にすぎませんが、Pythonの真のフレーバーの内部はIpythonでも維持されます。

IPythonの最も優れた部分はIPythonノートブックです。スクリプト、画像ファイルなどのすべての作業をノートブックに入れることができます。ただし、ベースPythonでは、ファイル内にスクリプトを作成して実行することしかできません。

最初に、IPythonがリッチメディアとPythonスクリプトを単一の統合されたコンテナーでサポートすることを目的として開発されていることを理解する必要があります。


6

Pythonと比較して、IPython(2001年にFernando Perezによって作成された)は、Pythonが実行できるすべてのことを実行できます。Ipythonは、タブ補完、テスト、デバッグ、システムコール、その他多くの機能などの追加機能も提供します。IPythonはPython言語への強力なインターフェースと考えることができます。

あなたはpipを使ってIpythonをインストールできます-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でそれを行う方法です。
すべてのІѕVаиітy2016

2
すべての%コマンドはipythonコマンドであり、通常のPythonインタラクティブセッションでは機能しません。とが含ま%pwd%lsます。%接頭辞はオプションで、現在のセッションでのPythonのグローバルでの競合はありません場合にのみ必要。
Martijn Pieters
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.