• enhanced interactive python shell'idir kendisi. native python shell'i ile kıyaslandığında hayli aklı başındadır ve ziyadesiyle -özgün ve faydalı- feature içermektedir. native python shell'i ile fully compatible olmasının yanında bir sürü de müthiş özellik sunmakta programcıya.. tek başına %macro bile innovation anlamında yeterli bana kalırsa. ilkel bir örnek ile macro olayını şöyle özetleyebilirim (bu arada %hist magic'i size daha önce shell içerisinde yazdığınız komutların listesini veriyor [ayrıca daha önce elde ettiğiniz output'ları da alabilmenize olanak sağlayan magic'ler ve alias'lar mevcut]):

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    in [66]: %hist
    (kesildi)
    52: merhaba
    53: y
    54: y = 4
    55: y = x * y * y
    56: print y
    71: import zipfile
    72: #?zipfile
    73: #?zipfile?
    (kesildi)

    in [67]: %macro osman 54 55 56
    macro osman created.
    macro contents:
    y = 4
    y = x * y * y
    print y

    in [68]: x = 25

    in [69]: osman
    out[69]: executing macro...
    400

    in [69]: x = 3

    in [70]: osman
    out[70]: executing macro...
    48
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    ayrıca shell escape'i olsun, indentation güzellikleri olsun gerçekten native interactive python shell'inin pabucunu dama çoktan atmış gibi görünüyor. readline kütüphanesinin unicode sorunları yüzünden utf-8 problemi komut satırında baki, ne yazık ki. yine de interactive shell içerisindeyken kendinizi bir programlama ortamında gibi hissetmenizi sağlamaya çok yaklaşmış olması büyük başarı.

    ayrıca herhangi bir modül ya da fonksiyonun sonuna eklediğiniz tek bir '?' ile onun dökümantasyonuna ulaşırken, '??' ile onun kaynak koduna 'less' marifetiyle erişebiliyorsunuz. tab complation'dan filan bahsetmiyorum bile.. ha, bunu local variable'lar ve function definition'lar için de yapabildiğinden bahsetmeye değebilir.

    ek olarak ms windows ortamında da çalışıyormuş.
  • ls,cd,pwd çekebilmek gibi önemli bir olayı da unutamış python shell. windows'ta da yapabilir bunları.
  • tek kelimeyle şahane

    ekleme: simdi python'un standart interpreter'inda ne oluyor? tab a basiyorsunuz, bildiginiz bosluk birakiyor, bir modulu ve alt modullerini islevlerini bulmak can sikici.

    ipython ise, tab'a basinca gosteriyor size olasiliklari, hatta kullanacaginiz fonksiyonu yazip yanina bir soru isareti koyarak fonksiyonun kullanimini gosteriyor. bitti mi bitmedi. bir yerine iki soru isareti kullanirsaniz fonksiyonun kaynak kodunu gosteriyor (sadece python ile yazilmissa).

    bunun disinda pwd, ls, cat gibi linux comutlarini command line'dan kullanabiliyorsunuz. ayrica istediginiz komutu da config dosyasinda tanimlayabiliyorsunuz.

    yani bir kod yazmadan once test etmek icin sahane bir ortam.
  • kullanır kullanmaz ne kadar güçlü bir araç olduğunu fark edip sevdiğim alet. objelerin içindeki metodları göstermesi, ? işareti ile parametrelerini falan basması müthiş.
  • görür görmez apple evcil piton çıkartmış dedim birden. böyle oyuncak ev hayvanısı falan gibi. kesin irabbit ya da ibird ile beslenir bu, onlara da para vermek lazım. bi de kafesi apple'dan olur bikaç zilyon dolar.

    iyi iyi almak lazım.

    ipython : evinizin pitonu.
  • microsoft tarafindan 100.000$'lik bir destekle gelistirilmesi sponsor edilmistir.
  • senelerce matlab kullandım, hatta arada sembolik hesap için mathematica da kullandım. geçen yıl ortak anlatılan bir ders için ipython notebookları kullanmaya başladım, sonra ufaktan modül yazayım iki üç tane derken epey hoşuma gitti. henüz bütün hesaplarımı python'da yapacak kadar benimsemedim ama bir iki yıla mümkün olabilir. kısa kısa hakkında düşündüklerimi yazayım, gerçi bunları ipython yerine python başlığına yazsam daha iyi olabilir:

    - python öğrenmesi bana çok kolay geldi, object oriented herhangi bir dil biliyorsanız bir haftada alışırsınız. kodu zorla düzgün görünecek şekilde yazdırması ilk anda garip gelse de aslında gayet hoş. ben büyük projeler yazmıyorum, web entegrasyonu ya da kullanıcı şöyle görür diye bir derdim yok (yazdığım programların tek kullanıcısı benim) onları yapmak için nasıl bir ortam bilemem. matematiksel hesap için, bilimsel hesaplama için yeterli buldum.

    - notebook formatı pek hoş pek güzel, özellikle eğitim için süper. insanın kitap yazası geliyor, latex commentlerle notebook hazırla, ver öğrenciler sağını solunu kurcalasın. kodun çoğunu modül olarak saklayıp öğrencilere sadece önemli yerleri göstermek için süper.

    - scipy diye bilimsel python ekosistemi var, sürekli genişliyor gördüğüm kadarıyla epey sorunsuz.

    - matplotlib grafikleri matlab'e epey yakın ama hala matlab kadar iyi değil. benim tamamen python'a transfer olmamamın temel sebebi bu. yine de eğer uğraşırsanız çizdiremeyeceğiniz grafik yok, sadece kodun ne kadar derinine inmek istediğinize bağlı.

    - sympy denen sembolik matematik modülü mathematicanın çok gerisinde, matlabin içindeki dandik sembolik işlem mekanizmasına benziyor.

    - bu eksiklere rağmen ipython (a) açık kaynak kodlu (b) beleş. matlab ve mathematica'nın parasını çoğu yerde üniversiteler verdiği için bu pek problem gibi gözükmese de yavaş yavaş bazı okullar 'o paraya öküz alırız, open source kullanın' demeye başladı. eğer herhangi bir şekilde matlab için para ödemek (proje kaynaklarından veya allah muhafaza cebinizden) zorundaysanız bir an önce geçin ipython'a.

    bilimsel hesaplama yapmak isteyenlere, özellikle teknik disiplinlerdeki öğrencilere şiddetle tavsiye ederim. kurun bilgisayarınıza, tek tek notebook açıp project euler sorularını çözün, daha önce hiç programlama yapmamışsanız bile kurcalayıp öğrenirsiniz.
  • (bkz: jupyter)
hesabın var mı? giriş yap