Örneklerle Python Metasınıflar

Bugün Eli Bendersky'ye ait Python metaclasses by example makalesini okudum. Metasınıflar benim için hep üç aşağı beş yukarı havada kalan kavramlar olmuşlardır. Bahsettiğim makaleyi okuduktan sonra, kafamda bir nebze daha iyi oturtabildim bunları. Bunun üzerine bu makaleyi Türkçe'ye çevirip paylaşmaya karar verdim. Tabi ki, Eli Bendersky'nin izni ile. Aşağıda makalenin tam metninin çevirisini bulabilirsiniz:

Python, çalışma yapısını ve özelliklerini gizleyen birçok "sihir" olmayışından ve diğerlerinden daha açık bir dil olduğundan haklı olarak gurur duyar. Diğer yandan, bazen, ilgi çekici soyutlamalara imkan sağlamak için olağandandan daha sihirli dil yapıları bulunan Python’un daha kirli ve anlaşılması güç kısımları deşilebilir. Metasınıflar böyle özelliklerdir.

Devamını oku…

Python Beautiful Soup Kütüphanesi ve Basitçe Kullanımı

Python'da HTML ve XML dosyalarını işlemek için, genelde acemi kullanıcılar, düzenli ifadeleri kullanır. Ancak düzenli ifadeler hem hata yapması kolay bir alandır, hem de bu iş için verimli değildir. Diğer yandan, BeautifulSoup gibi bu iş için tasarlanmış, performanslı ve kullanımı kolay bir kütüphanedir.

Beautiful Soup Python için bir HTML ve XML ayrıştırıcısıdır (parser). Beautiful Soup kütüphanesi kullanışlı olmasını şu özelliklerine borçludur:

Devamını oku…

Python ile soket programlama ve multiprocessing modülü

Bu yazıda, Python'daki multiprocessing ve socket modüllerini kullanarak basit bir HTTP sunucusu yapacağız. Bu modülleri kullanmak isteyenler ancak nereden başlayacağını bilemeyenler bu basit örnekle konuya giriş yapabilirler.

Yaptığım şey özetle şu; 5 tane işlem port 9090'ı dinliyor. Gelen isteklere sırasıyla cevap veriyorlar. Python içindeki Threading modülünden farkı ne derseniz, Python'daki GIL (Global Intrepreter Lock) yüzünden, threading modülü ile birden fazla işlemciyi aynı anda kullanamıyorsunuz. Ancak multiprocessing ile birden fazla işlem çalıştığı için, işlemcinizin tüm olanaklarından yararlanabilirsiniz :)

Devamını oku…

Python ve Excel Kütüphaneleri

Eğer Python ile excel dosyaları okumak veya yazmak istiyorsanız doğru yerdesiniz. Çeşitli Python kütüphaneleri ile excel dosyaları üzerinde işlem yapmak çocuk oyuncağı.

Python ile Excel dosyaları okumak ve yazmak, anladığım kadarıyla merak edilen bir konu ve günlük Python kullanımında ihtiyaç duyulabilecek bir bilgi. Bu yüzden, üstünkörü de olsa, konuya giriş için küçük bir belge yazmak istedim. Python kullanarak Excel dosyalarıyla çalışmak için geliştirilmiş, benim bildiğim, birkaç tane kütüphane var. Bunlardan xlwt Excel'e yazmak, xlrd ise Excel'den okumak için hazırlanmış. Diğer bir kütüphane olan xlutils ise, bunlar arasında bir nevi tutkal görevi görerek, yardımcı fonksiyonlarla bu ikisini birbirine bağlıyor. Bu yazıda, xlrd kütüphanesinden kısaca bahsedip, diğer kütüphanelere de ileriki zamanlarda değinmek istiyorum.

Devamını oku…

Python için Matematik Araçları Kütüphanesi

Beni twitter'dan takip edenler belki hatırlayacaklardır, birkaç gün önce C ile bazı matematik problemlerinin çözümüne yönelik bir Python kütüphanesi yazmaya başlamıştım. O kütüphaneyi bir Python modülüyle biraz daha geliştirdim. Bu kütüphaneyi son aldığı haliyle burada biraz açıklamak ve isteyenlerle paylaşmak istedim. Sanırım şu anda kullanıma hazır.

Devamını oku…

Python ile kayıt (log) dosyaları

Son uğraştığım ufak programda Python'un logging modülünü kullanarak kayıt işlemleri yapıyorum. Kısaca nasıl yapıldığını açıklayayım dedim.

Python ile logging modülü kullanmak için gereken ilk iş, logging modülünü içe aktarıp, getLogger ile yeni bir kayıt tutucu oluşturmak. Bunun nasıl yapıldığını görmek için, aşağıdaki örnek python kodunu inceleyelim.

Devamını oku…

Python ile Çeşitli Yazılım Geliştirme Desenleri (Design Patterns)

İnsan programlamayı kendi çabalarıyla öğrenince, işin okulunu okumuş insanlardan bazı konularda eksik kalıyor. En azından ben böyle hissediyorum. Hem aradaki açığı kapatmak, hem de kendimi geliştirmek adına, birkaç yazılım geliştirme deseni öğrenmek ve bunları Python ile uygulamaya geçirmek istedim. Bunu yapmanın hem kendi gelişimime faydası olacağını düşünüyorum, hem de bunu okuyan birkaç kişinin, en azından konuya giriş yapmış olması açısından, işini kolaylaştıracağını zannediyorum.

Devamını oku…

Python'da and ve or

Python'daki and ve or dil yapısının biraz akılda kalması güç bir özelliği var. Bu yüzden buraya biraz özet geçmek istedim. Daha sonra kendim ve başkaları referans olarak bakabilelim diye.

Devamını oku…