PYTHON PROGRAMLAMA DİLİ Ege Bilmuh GNU/Linux ve Özgür Yazılım Çalışma Grubu http://tinyurl.com/ozgurbilmuh Enes Ateş enes@enesates.com 03.05.2012
Önceki Hafta Python Nedir, Kimler Kullanır? Python'ı Çalıştırmak Değişkenler Kullanıcıyla İletişim Koşullar Döngüler Fonksiyonlar Hata Yakalama Listeler, Demetler, Sözlükler, Kümeler
Modüller (Modules) Bütün Python uygulamaları aynı zamanda birer modüldür. Python uygulamalarındaki fonksiyon ve nitelikler başka Python uygulamalarının içine aktarılabilirler. import modül_adı : Tüm modül içeriğinin aktarılması modül_adı.fonksiyon şeklinde erişilir. import modül_adı as yeni_isim şeklinde modüle yeni isim verilebilir. from modül_adı import fonk1, fonk2 : İstenenlerin aktarılması fonk1 ya da fonk2 şeklinde erişilir. modül_adı eklemeye gerek yoktur. İlk yöntemi kullanmak daha güvenli. Diğer yöntemde var olan fonksiyonlarla isim çakışması yaşanabilir.
Modüller (Devam) OS Modülü: Kullanılan işletim sistemiyle ilgili işlemler yapma olanağı sunar. import os # os modülünü alıyoruz. dir(os) # Fonksiyon ve nitelikler listeleniyor. os.name # Kullandığımız işletim sistemi hakkında bilgi verir. Uygulamanın farklı işletim sistemlerine göre işlem yapması sağlanabilir. os.listdir( /home ) # Dizin içerisindeki dosya ve dizinleri listeler. os.getcwd() # Hangi dizin içinde bulunduğumuza dair bilgi verir. os.chdir(os.pardir), os.chdir( /var/tmp ) # Çalışma dizinini değiştirir. os.mkdir( test ), os.makedirs( test/test1 ) # Dizin oluşturmayı sağlar. os.rmdir( test ), os.removedirs( test/test1 ) # Dizin silmeyi sağlar.
Dosya İşlemleri Dosya oluşturma, veri okuma, yazma işlemleri: dosya = open( deneme.txt, w ) # Dosyayı oluşturma dosya.write( Özgür Yazılım Vakfı ) # Dosyaya yazma dosya.close() # Dosyayı kapatma dosya = open( deneme.txt, a ) # Dosyayı ekleme amaçlı açma dosya.write( Richard Matthew Stallman ) # Dosyaya yazma dosya = open( deneme.txt, r ) # Dosyayı okuma amaçlı açma print dosya.read() # Dosyadan okuma print dosya.readline() # Dosyadan satır okuma
Dosya İşlemleri (Devam) Dosya imleci, değişken yazdırma ve dosya silme işlemleri: dosya.seek(5,1) # Bulunulan konumdan itibaren imleci 5 birim ilerletme. # 0, dosya başından itibaren. 2, dosya sonundan başlayarak başa doğru. a = 50 # Değişkeni dosyaya yazdırma işlemi dosya = open( deneme.txt, w ) dosya.write(str(a)) # Sayı değişkenini karakter dizisine çevirmek gerekli. os.remove( deneme.txt ) # Dosya silme (import os eklemek gerekli.)
Sınıflar (Classes) Sınıf oluşturma, nitelikleri ilklendirme ve metotlar ekleme: class Sirin(object): # Yeni nesil sınıf tanımlama. Eski tip -> class Sirin: def init (self): # İlklendirilecek niteliklerin tanımlanması self.tenrengi = "Mavi" # self, niteliğin bu sınıfa ait olduğunu belirtiyor. self.kiyafetrengi = "Beyaz" self.cilek = 5 def cilektopla(self, toplanancilek): # İşlev tanımlama (Şirinlerin çilek toplaması) self.cilek = self.cilek + toplanancilek def siringoster(self): # Sınıfın özelliklerinin ekrana yazdırılması print "Ten Rengi:", self.tenrengi print "Kıyafet Rengi:", self.kiyafetrengi print "Çilek:", self.cilek,"\n"
Sınıflar (Devam) Miras alma ve nesne oluşturma: class SirinBaba(Sirin): # Sirin sınıfından miras alınarak oluşturuluyor. def init (self): # Sirin sınıfından farklı bazı özellikler ilkleniyor. Sirin. init (self) self.kiyafetrengi = "Kırmızı" sirine = Sirin() # Sirin sınıfından sirine adında bir nesne oluşturuluyor. sirine.siringoster() # Şirinenin özellikleri yazdırılıyor. sirinbaba = SirinBaba() # SirinBaba sınıfından sirinbaba oluşturuluyor. sirinbaba.cilektopla(10) # Şirin Baba 10 tane çilek topluyor. sirinbaba.siringoster()
Ek Konular Kod yazım araçları Vim, PyDev Ortak Proje Geliştirme Araç ve Ortamları Sürüm Kontrol Sistemleri, İş Takip Sistemleri Wiki Github Özgür Yazılım Projesi Grub-on (Grub Menü Düzenleme)
Kaynaklar http://yzgrafik.ege.edu.tr/~tekrei/dersler/bbgd_p/ http://kodveus.blogspot.com/2007/08/pydev-nedir.html http://www.istihza.com/py2/icindekiler_python.html