Python ve IPython arasındaki fark nedir?


220

Python ve IPython arasındaki fark tam olarak nedir ?

Python'da kod yazarsam, IPython'da olduğu gibi çalışacak mı yoksa değiştirilmesi gerekiyor mu?

IPython'un Python için etkileşimli bir kabuk olması gerektiğini biliyorum, ama hepsi bu kadar mı? Yoksa IPython diye bir dil mi var? IPython altında bir şey yazarsam, Python'da çalışır mı? Farklılıklar varsa, ne olduklarını nasıl bilebilirim? Python tarafından kullanılan tüm paketler IPython'daki gibi çalışacak mı?

Yanıtlar:


153

ipython python ile inşa edilmiş interaktif bir kabuktur.

Proje web sitesinden:

IPython, Python'u en iyi şekilde kullanmanıza yardımcı olacak zengin bir araç seti sağlar:

  • Güçlü Python kabukları (terminal ve Qt tabanlı).
  • Aynı temel özelliklere sahip ancak kod, metin, matematiksel ifadeler, satır içi grafikler ve diğer zengin ortamları destekleyen web tabanlı bir dizüstü bilgisayar.
  • Etkileşimli veri görselleştirme ve GUI araç setlerinin kullanımı için destek.
  • Kendi projelerinize yüklemek için esnek, gömülebilir tercümanlar.
  • Paralel hesaplama için kullanımı kolay, yüksek performanslı araçlar.

İlk 2 satırın Python'u en iyi şekilde kullanmanıza yardımcı olduğunu söylüyor. Bu nedenle, kodunuzu değiştirmeniz gerekmez, IPython kabuğu normal python kabuğunun yaptığı gibi python kodunuzu çalıştırır, sadece daha fazla özellik ile.

IPython kullanırken hangi özellikleri kazandığınızı anlamak için IPython eğiticisini okumanızı tavsiye ederim .


8
Thus, you don't need to alter your code, the IPython shell runs your python code just like the normal python shell doesTeşekkürler. Bilmem gereken tek şey bu.
Asdfsdjlka Asdfsdjlka

İpython vs python'un yürütme hızı hakkında biraz yorum yapabilir misiniz? Demek istediğim saf ipython, bir tarayıcıyı içeren ipython notebook değil.
Jason

2
@ Jason: aynı değerlendirme döngüsü. Sunum katmanında bazı ek yükler olabilir (ipython komutlarını ayrıştırma, ifade çıktısını güzel yazdırma), ancak hepsi sabit bir maliyettir. Temel olarak, çok, çok az fark.
Martijn Pieters

19

IPython temel olarak ekstra özellikler sağlayan "önerilen" Python kabuğudur. IPython diye bir dil yok.


IPython sadece REPL mi?
Bay Suryaa Jha

@ Mr.SuryaaJha Bu bir REPL, ancak sadece standart python REPL ( pythonbir kabukta yazdığınızda elde ettiğiniz ) var.
BallpointBen

16

Bu konuyu görüntüledikten sonra bile, ipython'un python kabuğu ile eşanlamlı olduğunu düşündüm, başka bir deyişle, komut satırına python yazarak ipython moduna bir tane koydum.

Aslında, yukarıda belirtildiği gibi, iPython.org'dan veya sadece çalıştırarak kurulabilen çok güzel bir etkileşimli kabuk (komut satırı programı)

pip install ipython

veya daha kapsamlı:

pip install ipython[notebook]

komut satırından.


1
İyi bir nokta, @Roadowl Sanırım "interaktif kabuk" biraz gereksiz olduğunu söylemek değil mi.
15:59

@Roadowl: (bir yıl sonra, ama yine de ...) Komut dosyasını etkileşimli olmayan bir şekilde çalıştıran herhangi bir kabuğa ne dersiniz? Belki basit bir örnek: $ sh -c 'foobar=3.14159'... ya da belki yıl yorum yanlış.
Cbhihe

12

IPython , standart yorumlayıcıyla karşılaştırıldığında daha etkileşimli olan güçlü bir etkileşimli Python yorumlayıcısıdır.

Yazdığınız standart Python yorumlayıcısını pythonalmak için >>>nerede çalışabileceğiniz sorusunu alırsınız .

IPython yorumlayıcısı almak için önce onu yüklemeniz gerekir. pip install ipython. Siz yazın ipythonve In [1]:istem olarak alırsınız In [2]:ve sonraki komutu alırsınız . historyÖnceki komutların listesini kontrol etmek için arayabilir %recall 1ve komutu geri çağırmak için yazabilirsiniz .

Python'da bile doğrudan kabuk komutlarını çalıştırabilirsiniz !ping www.google.com. Daha önce kullandıysanız Jupiter notebook'u bir komut satırı gibi görünüyor.

[Tab]Resimde gösterildiği gibi otomatik tamamlama için kullanabilirsiniz . resim açıklamasını buraya girin


6

Python ve IPython arasında çok az fark vardır, ancak bunlar @Ryan Chase tarafından belirtilenler gibi sadece birkaç sözdiziminin yorumlanmasıdır, ancak Python'un gerçek lezzetinin derinliklerinde Ipython'da bile korunur.

IPython'un en iyi kısmı IPython not defteri. Tüm çalışmalarınızı komut dosyası, resim dosyaları vb. Gibi bir deftere koyabilirsiniz. Ancak temel Python ile komut dosyasını yalnızca bir dosyada yapabilir ve yürütebilirsiniz.

Başlangıçta, IPython'un zengin bir medya ve Python betiğini tek bir tümleşik kapta desteklemek amacıyla geliştirildiğini anlamanız gerekir.


6

Python ile karşılaştırıldığında, IPython (2001 yılında Fernando Perez tarafından yaratılmıştır) python'un yapabileceği her şeyi yapabilir. Ipython, sekme tamamlama, test etme, hata ayıklama, sistem çağrıları ve diğer birçok özellik gibi ekstra özellikler de sunar. IPython'u Python diline güçlü bir arayüz olarak düşünebilirsiniz.

Ipython'u pip kullanarak kurabilirsiniz -pip install ipython

Terminal pencerenize yazarak Ipython'u çalıştırabilirsiniz ipython.


2

Deneyimlerime göre, IPython'da çalışan bazı komutların temel Python'da çalışmadığını gördüm. Örneğin, pwdve lstaban Python yalnız çalışmazlar. Bununla birlikte, aşağıdaki %gibi bir durumla çalışırlarsa : %pwdve %ls.

Ayrıca, IPython'da, cd komutunu aşağıdaki gibi çalıştırabilirsiniz: cd C:\Users\... %Ancak , bununla birlikte olsa bile, temel python'da çalışmaz .


3
import os; os.system('pwd')Python'da bunu yapmamın yolu.
Hepsi а Vаиітy

2
Tüm %komutlar ipython komutlarıdır ve normal bir Python etkileşimli oturumunda çalışmaz. Yani içerir %pwdve %ls. Ön %ek isteğe bağlıdır ve yalnızca geçerli oturumunuzda bir Python global ile çakışma olmadığında gerekir.
Martijn Pieters
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.