Veri Analizi - Temel Düzeyde Python 2 - Nesne Tabanlı Programlama
CLASS OLUŞTURMA ve ÖZELLİKLERİNİ KULLANMA
#isim ve soyisim özelliklerine sahip insan sınıfı oluşturulması
class insan():
isim = None
soyisim = None
#insan sınıfının özelliklerinin yazdırılması
print(insan.isim)
print(insan.soyisim)
Çıktı:
None
None
#insan sınfının özelliklerine değerler atanması ve yazdırılması
insan.isim = "Denizhan"
insan.soyisim = "ŞAHİN"
print(insan.isim)
print(insan.soyisim)
Çıktı:
Denizhan
ŞAHİN
#insan sınıfı kullanılıp insan1 nesnesi oluşturulması ve insan1 nesnesinin özelliklerinin yazdırılması
insan1 = insan()
print(insan1.isim)
print(insan1.soyisim)
Çıktı:
Denizhan
ŞAHİN
#insan sınıfı kullanılıp insan2 nesnesi oluşturulması ve insan2 nesnesinin özelliklerinin yazdırılması
insan2 = insan()
print(insan2.isim)
print(insan2.soyisim)
Çıktı:
Denizhan
ŞAHİN
#insan1 nesnesinin özelliklerinin değiştirilmesi ve yazdırılması
insan1.isim = "Deniz"
insan1.soyisim = "Han"
print(insan1.isim)
print(insan1.soyisim)
Çıktı:
Deniz
Han
#insan2 nesnesinin özelliklerinin değiştirilmesi ve yazdırılması
insan2.isim = "Anıl"
insan2.soyisim = "Yılmaz"
print(insan2.isim)
print(insan2.soyisim)
Çıktı:
Anıl
Yılmaz
#insan sınıfının isim özelliğinin yazdırılması
print(insan.isim)
Çıktı:
Denizhan
SELF YAPISI ile CLASS OLUŞTURMA
#self yapısı ve __init__ fonksiyonu ile meyve sınıfının oluşturulması
class meyve():
#Burada yer alan isim ve fiyat fonksiyon parametresidir, class özelliği değildir.
def __init__(self,isim,fiyat):
self.isim = isim
self.fiyat = fiyat
#self.isim ve self.soyisim class özelliğidir.
#self yapısı ve __init__ fonksiyonu ile meyve sınıfının oluşturulması
class meyve():
#Burada yer alan isim ve fiyat fonksiyon parametresidir, class özelliği değildir.
def __init__(self,deger1,deger2):
self.isim = deger1
self.fiyat = deger2
#self.isim ve self.soyisim class özelliğidir.
#meyve sınıfı ile elma nesnesi oluşturulması ve sırası ile isim ve fiyat bilgisinin atanması
elma = meyve("Elma",10)
#elma nesnesinin değerlerinin yazdırılması
print(elma.isim)
print(elma.fiyat)
Çıktı:
Elma
10
#meyve sınıfı self yapısı ile yazıldığı için özellikleri değer almaz. self yapısı ile özellikleri değer almayan sınıflar yazılır.
#özellikleri değer almayan sınıflar ile nesneler oluşturulur ve bu nesnelerin özellikleri değer alır.
print(meyve.isim)
Çıktı:
AttributeError Traceback (most recent call last)
<ipython-input-13-75ece2e52710> in <module> 1 #meyve sınıfı self yapısı ile yazıldığı için özellikleri değer almaz. self yapısı ile özellikleri değer almayan sınıflar yazılır. 2 #özellikleri değer almayan sınıflar ile nesneler oluşturulur ve bu nesnelerin özellikleri değer alır. ----> 3 print(meyve.isim)
AttributeError: type object 'meyve' has no attribute 'isim'
armut = meyve("Armut",20)print(armut.isim)print(armut.fiyat)Çıktı:Armut20CLASS İÇİNE FONKSİYON TANIMLAMAclass meyve_yeni():#değer1 ve değer2 __init__ fonksiyonu için parametredir.#değer1 ve değer2 fonksiyon parametreleri olan self.isim ve self.fiyat olan sınıf özelliklerine atanır.def __init__(self,deger1,deger2):self.isim = deger1self.fiyat = deger2#sınıflar içinde fonksiyonlar yazılabilir.#fonksiyonların parametresi self ise böylece sınıfın özellikleri kullanılabilir.def goster(self):#sınıf özellikleri kullanılır ve yazdırılır.print("Meyve ismi : " + self.isim)print("Meyve fiyat : " + str(self.fiyat))portakal = meyve_yeni("Portakal",30)print(portakal.isim)print(portakal.fiyat)Çıktı:Portakal30#portakal nesnesi içinde yer alan goster() isimli fonksiyonun çalıştırılması ve portakal nesne özelliklerinin yazdırılmasıportakal.goster()Çıktı:Meyve ismi : Portakal Meyve fiyat : 30MİRAS ALMAclass kisi():def __init__(self,yas,isim,meslek):self.yas = yasself.isim = isimself.meslek = meslekdef yazdir(self):print(self.yas)print(self.isim)print(self.meslek)#personel sınıfı kisi sınıfını parametre olarak alır ve personel sınıfı içine kisi sınıfı özellikleri eklenir.class personel(kisi):# __init__ fonksiyonu self yapısına uygun olarak parametreler alır.def __init__(self,yas,isim,meslek,bolum):#super fonksiyonu ile kisi sınıfına ait özellikler kullanılabilir duruma getirilir.#yeniden personel içinde oluşturulması engellenir.super().__init__(yas,isim,meslek)#self.bolum ise sadece personel sınıfına ait bir ozelliktir.self.bolum = bolumdeniz = personel(input(),input(),input(),input())print(deniz.isim)print(deniz.yas)Çıktı:10#patron sınıfı kisi sınıfını parametre olarak alır ve patron sınıfı içine kisi sınıfı özellikleri eklenir.class patron(kisi):# __init__ fonksiyonu self yapısına uygun olarak parametreler alır.def __init__(self, yas, isim, meslek,sirket_adi):#super fonksiyonu ile kisi sınıfına ait özellikler kullanılabilir duruma getirilir.#yeniden personel içinde oluşturulması engellenir.super().__init__(yas, isim, meslek)#self.sirket_adi ise sadece patron sınıfına ait bir ozelliktir.self.sirket_adi = sirket_adi#personel sınfı ile personel1 nesnesi oluşturulmasıpersonel1 = personel(20,"Mahmut","Yazılımcı","Yapay Zeka")#personel sınıfı ile oluşturulan personel1 nesnesi içinde yer alan, kisi sınıfından miras alınıp personel1 içine eklenmiş olan isim özelliğiprint(personel1.isim)Çıktı:Mahmut#personel sınıfı ile oluşturulan personel1 nesnesi içinde yer alan, kisi sınıfından miras alınıp personel1 içine eklenmiş olan yazdir fonksiyonupersonel1.yazdir()Çıktı:20 Mahmut Yazılımcıpatron_kisi = patron(25,"Aylin","CEO","Google")print(patron_kisi.sirket_adi)Çıktı:patron_kisi.yazdir()Çıktı:25 Aylin CEOpatron_kisi = patron(20,"Pelin","CEO ve Developer","Microsoft")print(patron_kisi.isim)Çıktı:Pelinpatron_kisi.yazdir()Çıktı:20 Pelin CEO ve Developer