Kategori: Python Temel
-
Python’da Çoklu İşlem Oluşturma (Multi Process)
Bir önceki yazımda Thread ve Process kavramlarını açıklamıştım. Çoklu Thread ve Process ihtiyacından bahsedip Thread üzerine kısa bir örnek yapmıştım, şimdi de Process sayısını nasıl arttırabiliriz bunun üzerine bir şeyler söyleyeyim. Yeni Process’ler oluşturmak için yine Thread benzeri bir Python modülümüz var. multiprocessing isimli bu modül içinde Process sınıfı ile işlemlerimizi yapacağız. Pool Sınıfı: Havuz…
-
Thread Kavramı ve Python Üzerinde Kullanımı
Önce bazı tanımları kısaca yaparak anlatımı netleştirelim. Process (İşlem): işletim sistemi üzerinde, bir programlama dili ile hazırlanmış ve hafızaya alınmış çalışan programa denir. Her bir programın sadece bir process’i olmak zorunda değil, başlangıç process’i yeni process’ler üretebilir. İki farklı process’in birbirlerinin verilerine erişmesi güvenlik için kısıtlanmış/zorlaştırılmış olabilir. Thread (İplik): sözlük anlamı en küçük yürütme birimidir.…
-
Python Sınıflarında Sihirli Metotlar (Dunder)
Python üzerinde nesne yönelimli bir tasarım için sınıflar ve metot türlerine konusuna şurada biraz değinmiştim. Şimdi bir adım daha ileri gidip daha ileri seviye sınıflar tasarlamak için kaçınılmaz olan bazı özel metotlardan bahsedeyim. Bu özel metotlar, Python üzerinde önceden tanımlı ve görevi olan metotlardır. Ortak özellikleri ise iki alt çizgi ile başlayıp bitiyor olmalar, isimlerini…
-
Düzenli İfadeler (Regex) ve Python İçerisinde Kullanımı
Düzenli İfadeler (Regular Expressions) Bütün programlama dillerinde yer edinmiş bir tanımdır. Bir düzenli ifade ile tanımlanan bir dizi özel karakterden oluşan bir kalıp sayesinde bir metin içerisinde çok karmaşık ya da çok basit aramalar, değiştirmeler yapabiliriz. Burada bazı kurallar ve özel bir söz dizimi vardır. Regex, düzenli ifadeler için kullanılan bir kısaltmadır, REGular EXpressions. Bir…
-
Python İyileştirme Önerileri (PEPs) ve PEP8 Nedir?
Python İyileştirme Önerileri (Python Enhancement Proposals); Python dilinin resmi tavsiyelerinden, yeni gelen özellikler için dokümanlardan veya yeni özellik tavsiyesi alma gibi değişik içerikler oluşan bir dizi kayıttır. İçerikler dizideki sıralarıyla anılır genelde, en meşhuru PEP8 dokuzuncu sıradadır(Index sıfırdan başladığı için). Resmi içeriğe şuradan ulaşılabilir. Malum yazılı kurallar olduğu için yorum yapma şansım yok, bu yüzden…
-
Python 2.x vs. Python 3.x! Avantajları, Farkları Neler?
Python, programlamaya başlamak için söz dizimi olarak çok uygun bir dil. Basit kuralları var, noktalı virgül ile kapatılma zorunluluğu yok, parantezlerin olmaması kimine göre kolaylık vs. Bu kolaylıklar listesini bölecek ilk zorluklardan biri bu küçük versiyon karmaşası. İlk akla gelen hangisini kullanmalıyım sorusuna şurada Python’un resmi cevabı var. Python için kısaca; 2.x bir miras, 3.x…
-
Python ile FTP Üzerinden Dosya Alma-Gönderme (ftplib)
ftplib; FTP protoküle üzerinde bir istemci oluşturmamızı sağlayan çok kullanışlı standart bir Python modülüdür. Kullanımı da oldukça basit. Öncelikle bu modül içinde bulunan FTP sınıfından bir örnek(instance) oluşturuyoruz. Sırayla FTP adresi, kullanıcı adı ve şifresi parametre olarak veriliyor. import ftplib ftp = ftplib.FTP(“erdoganb.com”, “ftpKullanıcıAdı”, “FTPŞifresi”) # # # ftp.quit() Oluşturduğumuz bu FTP örneği ile bütün…
-
Python’da “With” İfadesi
With ifadesi Python üzerinde bir blok içerisindeki kodları iki metot arasına almamızı sağlar. Klasik bir örnek olarak; with open(‘metin.txt’, ‘w’) as f: f.write(‘Lorem ipsum’) Burada blok içinde kodumuz çalışmadan önce ve sonra çalışan dosya açma ve kapama olmak üzere iki fonksiyonumuz vardır. With üzerinde kullanabilmek için kendimiz de sınıflar oluşturabiliriz. Kullanılacak sınıf içerisinde __enter__ ve…