Python'da sınıf işlemleri
Önceki bir c++ sınıf yapılarını anlattığım yazımda sınıfların amacından bahsetmiştim. O yüzden amacından ve mantığından derinlemesine bahsetmeden kodlama işlemine geçmek istiyorum, zaten yazarken mantığı da oturacaktır.
Sınıf Oluşturmak:
Burada yapacağımız işlem aslınca çok basit, sadece tek bir satırla bir sınıf tanımlayacağız.
veya
Yalnız burada dikkat etmemiz gereken bir nokta var. Yanlış hatırlamıyorsam Python 2.2 den sonra gelen bir güncelleme ile sınıflar 2 ye ayrıldı. "new-style class" ve "old-style class". Farklarını google dan daha iyi araştırabilirsiniz lakin biz "new-style class" lara göz atacağız.
İkisini nasıl ayırt edeceğinize değinecek olursak;
Ve bu sınıfın altına o sınıfla alakalı yapacağımız işlemleri gireceğiz. Basit bir sınıf fonksiyonu
biçiminde olabilir. Eğer self in ne olduğunu merak ediyorsanız stackof sizin için açıklama getirmiş.
https://stackoverflow.com/questions/6990099/explaining-the-python-self-variable-to-a-beginner
Şimdi örnek bir nesne tabanlı uygulama yazalım.
Peki bunun bize avantajları ne? Zira aynı kodu aynen bu şekilde de yazabilirdik.
İkisinin de bize verdiği çıktı şu şekilde olacaktır;
Lakin çok büyük kapsamlı projelerde, özellikle toplu çalışılan projelerde herkes sizin kendi tarzınızda yazdığınız kodu okuyamayabilir. Nesne yönelimli(OOP) yazmak okunulabilirliği arttırır, daha sonradan kolayca geliştirmenize olanak verir(hey, sadece bir fonksyion daha yazın!), yazarken algoritma mantığınızı geliştirir. Bir sonraki yazımızda görüşmek üzere
Önceki bir c++ sınıf yapılarını anlattığım yazımda sınıfların amacından bahsetmiştim. O yüzden amacından ve mantığından derinlemesine bahsetmeden kodlama işlemine geçmek istiyorum, zaten yazarken mantığı da oturacaktır.
Sınıf Oluşturmak:
Burada yapacağımız işlem aslınca çok basit, sadece tek bir satırla bir sınıf tanımlayacağız.
Kod:
Class SinifAdi:
Kod:
Class SinifAdi():
İkisini nasıl ayırt edeceğinize değinecek olursak;
Kod:
class SinifAdi(): #old-style
Kod:
class SinifAdi(object): #new-style
Ve bu sınıfın altına o sınıfla alakalı yapacağımız işlemleri gireceğiz. Basit bir sınıf fonksiyonu
Kod:
class Sinifim(object):
def __init__(self):
#TODO
def fonk1(self):
#TODO
def fonk2(self):
#TODO
https://stackoverflow.com/questions/6990099/explaining-the-python-self-variable-to-a-beginner
Şimdi örnek bir nesne tabanlı uygulama yazalım.
Kod:
#THT ARGE KULUP
class Sinifim(object):
def __init__(self, o1, o2):
#Tanımlamalarımızı yapıyoruz.
self.ogrenci1 = o1
self.ogrenci2 = o2
self.liste = []
def fonk1(self):
#ögrencileri ekliyoruz
self.liste.append(self.ogrenci1)
self.liste.append(self.ogrenci2)
return self.liste
def fonk2(self):
#İsimleri yazdiriyoruz
for isim in self.fonk1():
print isim
sinifim = Sinifim("Hackno", "Utku")#Argümanlarla sınıfımızı çağırıyoruz
sinifim.fonk2()
Peki bunun bize avantajları ne? Zira aynı kodu aynen bu şekilde de yazabilirdik.
Kod:
def print_me(x, y):
print x + "\n" + y
print_me("Hackno", "Utku")
İkisinin de bize verdiği çıktı şu şekilde olacaktır;
Kod:
Hackno
Utku
>>>



