arşiv

yazılar buna göre etiketlendi; ‘python 2.x’

istihza.com: Python 2 ya da Python 3

Perşembe, 29 Tem 2010

Bildiğiniz gibi, Python’un en yaygın kullanılan sürümleri 2.x serisinden… Henüz Python 3.x serisi yeterli yaygınlığa ulaşamadı. Bunun sebeplerini daha önceki günlük girdilerinde tartışmıştık. Python 2.x’in bu durumundan ötürü ben de istihza.com’da 2.x ile ilgili derslere ağırlık veriyorum. Daha önce yaptığımız bir anketin sonucuna göre de  istihza.com kullanıcıları ağırlıklı olarak 2.x serisini kullandığı için sitedeki 3.x belgelerini uzun süredir güncellemiyordum.

Ancak son dönemlerde Python 3.x gelişimi konusunda belli bir hızlanma söz konusu… Bu sebeple ben de istihza.com kullanıcılarına şöyle bir soru yöneltmek istiyorum:

istihza.com’da Python 2′ye mi yoksa Python 3′e mi ağırlık verilmeli?

Bu soruya cevap bulabilmek için yeni bir anket hazırladım. Ankete, sayfanın sağ tarafındaki “Polls” başlığı altından ulaşabilirsiniz. Anketten çıkacak sonuca göre ya Python 2.x belgelerini son hızla güncellemeye devam edeceğim, ya da ağırlığı Python 3.x belgelerine vereceğim.

istihza istihza.com , , ,

istihza.com: Yenilikler

Pazartesi, 10 May 2010

Bugün istihza.com‘u ziyaret edenler, Python 2.x bölümünün büyük oranda yenilendiğini de görmüşlerdir. 10 Mayıs 2010 itibariyle istihza.com’da bazı yenilikleri uygulamaya koyduk. Peki nedir bu yenilikler?

Bildiğiniz gibi, istihza.com’daki belgelerin en eskisi 2007 yılına ait. Haliyle artık bu eski bölümleri yeni bir bakışla gözden geçirmenin zamanı gelmişti. Eski bölümleri yenilemek amacıyla bir süredir belgeler üzerinde çalışıyordum. Bu çalışmanın sonunda şöyle bir şey ortaya çıktı:

1. İçindekiler tablosunda göreceğiniz gibi, ilk 11 bölümün tamamı yenilendi. Mesela şimdiye kadar Liste, Demet ve Sözlükler adıyla tek bölüm halinde sunduğumuz belgeler artık Listeler, Demetler ve Sözlükler olmak üzere üç ayrı bölüme ayrıldı ve her bölüm olabildiğince ayrıntılı bir şekilde anlatıldı.

Aynı şekilde, ilk bölüm de üçe bölünüp genişletildi. Artık ilk üç bölüm şu belgelerden oluşuyor:

- Temel Bilgiler,

- Python’a Giriş,

- Python Programlarını Kaydetmek

Bu üç bölüm sayesinde okuru Python programlama diline iyice ısındırmış olacağız. Bu bölümlerdeki konular GNU/Linux ve Windows kullanıcıları için ayrı ayrı anlatıldı.

2. İlk 11 bölümdeki tek değişiklik bütün belge içeriğinin yeniden yazılmasından ve bölümlere yeni belgeler eklenmesinden ibaret değil. Artık her belgenin sonunda “Bölüm Soruları” adlı yeni bir kısım daha var. Bölüm sorularının amacı, belge boyunca işlenen konuları okurların pekiştirmesini sağlamak.

Bölüm soruları sürekli olarak güncellenmeye ve bu bölüme her fırsatta yeni sorular eklenmeye devam edecek.

3. Bütün bunların dışında, okurun sitedeki bilgileri daha rahat tarayabilmesini sağlamak amacıyla, Python 2.x bölümüne bir de dizin desteği ekledim. Her sayfanın sağ üst köşesindeki “dizin” bağlantısına tıklayarak dizin bölümüne erişebilirsiniz. Sitedeki bütün belgeleri dizine ekledikçe tabii ki bu dizin de zaman içinde genişleyecek.

İlerleyen günlerde siteye yeni belgeler eklenmeye ve eski belgeler de gözden geçirilmeye devam edecek.

Sitedeki yenilikleri beğeneceğinizi umuyorum.

İyi çalışmalar

istihza istihza.com , , ,

istihza.com’daki Yenilikler

Pazar, 17 Oca 2010

Bugün istihza.com‘daki Python 2.x bölümüne yeni bir konu ekledik. Konumuzun adı “Python’da Biçim Düzenleyiciler” (format modifiers). Konuyu olabildiğince ayrıntılı bir şekilde incelemeye çalıştık.

Yeni konumuz şu başlıklardan oluşuyor:

  • Biçim Düzenleyiciler
    • Biçim Düzenlemede Kullanılan Karakterler
      • “d” Harfi
      • “i” Harfi
      • “o” Harfi
      • “x” Harfi
      • “X” Harfi
      • “f” Harfi
      • “c” Harfi
    • İleri Düzeyde Karakter Dizisi Biçimlendirme
      • Karakter Dizisi Biçimlendirmede Sözlükleri Kullanmak
      • Sayılarda Hassas Biçimlendirme
      • Sayıların Soluna Sıfır Eklemek
      • Karakter Dizilerini Hizalamak
      • Karakter Dizilerini Hem Hizalamak Hem de Sola Sıfır Eklemek

Konunun ilginizi çekmesini umuyorum…

Bu arada, istihza.com’daki HTML ve PDF belgelerini otomatik olarak oluşturmakta kullandığımız Sphinx adlı yazılım 0.6.4 sürümüne yükseltildi. Biz de istihza.com’daki bütün HTML ve PDF belgelerini yeni sürümle derledik. Yeni belgeleri ilgili bağlantılardan indirebilirsiniz.

Ayrıca Python 2.x bölümündeki bazı konuları da gözden geçirdik. İlerleyen günlerde özellikle “Fonksiyonlar” konusu tamamen elden geçirilecek.

İyi çalışmalar,

istihza

istihza Python , , , , ,

Düzeltme…

Cumartesi, 10 Eki 2009

Bu aralar “ASCII, UNICODE ve Python” üzerine bir makale yazmakla uğraşıyorum. Makale epey ilerledi. Ama “ASCII, UNICODE ve Python” epey derin ve ayrıntılı bir konu olduğu için henüz tam anlamıyla bitmedi makale… Geçen gün Python 2.x bölümüne “Python’da Paket Kurulumu” konusunu eklerken, “ASCII, UNICODE ve Python” makalesinin taslak hali de Sphinx’in HTML ve PDF derleme sürecine karışmış… Böylece henüz tamamlanmış olan makale de istihza.com’daki yerini almış… Ben bunu biraz önce farkettim ve taslak makaleyi istihza.com’dan kaldırdım. Yenilenmiş HTML ve PDF dosyalarına sitemizden ulaşabilirsiniz. Yakın zamanda bu makalenin tam halini sitede bulabileceksiniz.

Sevgiler,

istihza

istihza Python , ,

Python 2.x Bölümü, Sphinx ve Yeni PDF…

Salı, 08 Eyl 2009

Kısa bir süre önce Python 3.x bölümünü tamamen Sphinx adlı yazılım ile hazırlamaya başladığımı duyurmuştum. Elbette site içinde bir bütünlük sağlayabilmek açısından öteki bölümleri de Sphinx ile hazırlamak mantıklı olacaktı… Bu bütünlüğü sağlamada bir adım daha atabilmek için Python 2.x bölümünü de Sphinx’e aktardım. Yeni Python 2.x bölümümüze http://www.istihza.com/py2/icindekiler_python.html adresinden ulaşabilirsiniz.

Daha önce de söylediğim gibi, Sphinx adlı yazılım, belgelendirme projelerinde çalışanlara çok büyük kolaylıklar sağlıyor. Sphinx sayesinde işin teknik kısmı büyük ölçüde otomatikleştirildiği için belge hazırlayan kişi sadece belgeleri oluşturma işine odaklanabiliyor… Eğer belgelendirme projeleriyle uğraşıyorsanız Sphinx’e mutlaka zaman ayırın. Onsuz geçen yıllarınıza acıyacaksınız!…

Ayrıca Sphinx’in PDF çıktısı da verebilmesi sayesinde istihza.com’un güncel halini PDF biçiminde de kolayca sunabiliyorum. Sphinx’in bu işlevinin ürünü olan Python 2.x PDF dosyasını http://www.istihza.com/py2/pdf/Python2x.pdf adresinden indirebilirsiniz…

Anlaşıldığı gibi, artık hem Python 3.x hem de Python 2.x bölümünün PDF dosyalarını hazırlamak bundan sonra Sphinx’in görevi… Bu noktada Sevgili Kürşat Örsel ve Sevgili Metehan Özbek’in adlarını anmadan geçmek olmaz. Bu iki arkadaşım şimdiye kadar sitenin PDF dosyalarını hazırlayarak istihza.com’a çok büyük bir katkıda bulundular. Sphinx onları da PDF güncelleme derdinden kurtarmış oldu. Katlandıkları eziyet için bu iki arkadaşıma tekrar tekrar teşekkür ederim. Kol kuvvetiyle PDF hazırlamak gerçekten de hiç kolay bir iş değil…

Eski belgeleri Sphinx’e aktarırken yapmış olabileceğim hataları her zamanki gibi kistihza [at] yahoo [nokta] com adresine bildirebilirsiniz.

Sevgiler,

istihza

istihza Python , ,

Python Programlama Dili – PDF Dosyası (Python 2.x)

Cumartesi, 20 Haz 2009

Sitemizin takipçilerinden ve katkıcılarından Sayın Kürşat Örsel, Python 2.x bölümünde bulunan bilgileri PDF haline getirdiğini haber verdi bugün bana. Ben aslında bu bölümü PDF haline getirmek için çalışmalara başlamıştım, ama diğer işlerden ötürü çalışmayı yarım bırakmıştım. O yüzden Kürşat Örsel’in yaptığı bu çalışma benim için büyük önem taşıyor… Kürşat Örsel tarafından hazırlanan bu PDF dosyasını http://www.istihza.com/PythonProgramlamaDili.pdf adresinden indirebilirsiniz.

Bildiğiniz gibi, istihza.com’daki “Math Modülü” belgesini hazırlayan da Sayın Kürşat Örsel… Hem math modülünü, hem de bu PDF dosyasını hazırlayarak siteye muazzam katkılarda bulunan Kürşat Örsel’e teşekkür ederim.

Düzenleme (09.09.2009): istihza.com’daki PDF dosyaları artık Sphinx yazılımı yardımıyla otomatik olarak üretilmektedir. Yeni ve güncellenmiş PDF dosyalarına ulaşmak için http://www.istihza.com adresini ziyaret edebilirsiniz.

istihza Python , ,

Hangisinden Başlamalı? Python 2.x mi yoksa 3.x mi?

Salı, 21 Nis 2009

Sıkça sorulan bir soru olduğu için, bu yazıda “Python’u öğrenmeye hangi sürümle başlamalıyım?” sorusuna genel bir cevap vermeye çalışacağım.

Hepimizin bildiği gibi, Python 3.x sürümleri Python’un 2.x sürümleriyle uyumlu değil. Yani Python 2.x ile yazılmış bir program, Python’un 3.x sürümlerinde çalışmayacaktır. Bu söylediğimin tersi de geçerlidir: Buna göre, Python’un 3.x sürümlerinden biriyle yazdığınız bir programın Python’un 2.x sürümlerinde çalışmasını beklememelisiniz.

Diyelim ki Python programlama dilini öğrenmeye karar verdiniz. Bu dile sıfırdan başlayacak biri olarak acaba hangisini seçmeniz gerekir? Eski sürümü mü? Yoksa yeni sürümü mü?

Python’un 2.x sürümleri çok uzun süredir kullanılıyor. Dolayısıyla yıllar içinde üretilmiş Python programları, üçüncü parti modüller ve belge kaynakları hep 2.x sürümleri temel alınarak hazırlanmış durumda. Henüz ortada Python 3.x’le yazılmış kayda değer bir program olmadığı gibi, hemen her Python programında ihtiyaç duyulan üçüncü parti modüllerin neredeyse hiçbiri henüz Python 3.x’e aktarılmış da değil.

Duruma GNU/Linux dağıtımları açısından bakacak olursak, dağıtımlarda ana Python paketlerinin hep 2.x olduğunu görüyoruz… Yani konsolda “python” komutunu verdiğinizde karşınıza çıkacak Python sürümü 2.x olacaktır (Genellikle 2.5.2 sürümü…)

Python 3.x paketleri henüz dağıtımların depolarında da yer almıyor. Şu anda Python 3.x paketlerini kullanıcılarına sunduğunu bildiğim tek dağıtım Ubuntu Jaunty Jackalope. (Bu dağıtımın kararlı sürümü 23 Nisan’da sunuculardaki yerini alacak).

Python 3.x’i öğrenebilmek için gereken belge kaynakları da henüz kararlı bir duruma ulaşmış değil. Bu konudaki temel başvuru kaynağımız olan resmi belgeler sürekli olarak güncelleniyor. Mesela bu belge en son güncellemeyi bugün görmüş…

Eğer Python programlama dilini öğrenmeye Python 3.x ile başlamak istiyorum diyorsanız, İngilizce bilmek zorundasınız. Çünkü etraftaki üç-beş Python 3.x belgesinin tamamına yakını İngilizce. Üstelik bu kaynaklar da henüz 2.x belgeleriyle kıyas kabul etmeyecek derecede eksik. İngilizce bilmeyen arkadaşlarım için ben naçizane istihza.com’da Türkçe belgelendirme çalışmalarını yürütüyorum. Python 3.x hakkında bilgi edinmek isteyen arkadaşlarım istihza.com‘daki Python 3.x sayfalarına göz gezdirebilir…

Python kullanıcılarını ilgilendiren önemli bir konu da arayüz tasarımı… Python’la arayüz tasarlamak istiyorsanız ve illa Python 3.x kullanacaksanız şu an için elinizdeki tek seçenek Tkinter olacaktır. Ancak Tkinter ile arayüz tasarlarken mutlaka gereksinim duyacağınız PIL (python-imaging) modülü de henüz Python 3.x’e aktarılmış değil. Dolayısıyla Tkinter ile hazırladığınız programlara resim eklemek isterseniz büyük sıkıntı yaşarsınız.

Tkinter’e iyi bir alternatif olarak düşünülebilecek olan wxPython’un durumu ise biraz karanlık… Bu arayüz takımına ait kullanıcı listelerinde geliştiricisinin söylediğine göre, wxPython’un Python 3.x’e taşınabilmesi için henüz doğru dürüst bir hazırlık yapılmış değil…

Sözün özü, Python programlama dilini Python 3.x ile öğrenmek isteyenler kendilerini hareket imkanı kısıtlı bir ortamda bulabilir…

“Python 2.x mi, yoksa 3.x mi?” sorusuna cevap bulabilmek için elbette Python’un baş geliştiricisi Guido Van Rossum’un bu konudaki fikirlerine de kulak vermek gerekir. Kendi sitesinde, http://www.artima.com/forums/threaded.jsp?forum=106&thread=211200 adresinde belirttiğine göre, Python 3.x’i öğrenmeye başlamak için daha 2 yıl beklemek gerekiyor. Guido Van Rossum’un bu yorumu 28 Temmuz 2007 tarihinde yaptığını düşünürsek, 2 yılın dolmasına pek fazla vakit kalmamış gibi görünüyor… Ama şu anki duruma bakılacak olursa, bu “2 yıl” tahminini, yukarıda belirttiğim sebeplerden ötürü birazcık daha uzatmakta fayda var… O yazıda Van Rossum Python öğrenmek isteyenlere 2.6 sürümüyle başlamalarını tavsiye ediyor. Benim fikrim de açıkçası bu yönde. Python’un 2.6 sürümünü hakkıyla öğrenen bir kişi Python 3.x’e uyum sağlamakta zorluk çekmeyecektir, çünkü Python’un 3.x sürümüne ait pek çok özellik Python 2.6 sürümünde de çalışıyor. Ayrıca Python 2.6 ile program yazarken, eğer Python 3.x ile uyumlu olmayan bir kod yazarsanız, Python 2.6, yazdığınız bu kodun 3.x’te çalışmayacağı konusunda sizi uyaracak, bu da Python 3.x’e uyum sağlama açısından size büyük bir kolaylık sağlayacaktır.

Velhasıl-ı kelam, Python’un 2.x sürümleri daha uzun bir süre bizimle beraber olmaya devam edecek. Zaten Python’un resmi belgelerinden de anlaşılacağı gibi, Python 3.x sürümlerinin geliştirilmesi devam ederken, Python 2.x de uzun bir süre destek görmeye ve geliştiştirilmeye devam edecek… Dolayısıyla eğer Python öğrenmeye yeni başlayacaksanız, Python’u öğrenmeye 2.6 sürümüyle başlamalı, bu arada da Python 3.x’teki gelişmelere de kulak kabartmalısınız… Hem zaten eski kodları anlayabilmenin, Python deneyiminiz açısından önemli bir artı olduğunu rahatlıkla söyleyebilirim.

istihza Python , ,