Merhabalar, Python Yapay Zeka Günlüğü #6 yazısı ile phyton öğrenme serüvenime 4. yazısı ile devam... Bu yazım Python OOP konusu üzerine olacak. OOP konusu her programlama dilinde var olan bir konudur. OOP’un açılımı Object Oriented Programming ‘dir. Kendimize özel nesneler üretip kullanmak olarak kısaltabiliriz sanırım. Python ile Yapay Zeka yolcuğumuzda bu konuya çok fazla ihtiyacımız olmayacağından dolayı kısaca üzerinden geçiyoruz.
Python Yapay Zeka Günlüğü #6 – OOP
class Calisan: zam_orani = 1.8 # class variable counter = 0 # class variable def __init__ (self, isim,soyisim,maas): # initial(ilk metot) = constructor(yapıcı metot) self.isim = isim self.soyisim = soyisim self.maas = maas self.email = isim+soyisim+"@asd.com" Calisan.counter = Calisan.counter + 1 # class variable def giveNameSurname(self): return self.isim + " " + self.soyisim # NOT: girintiler çok önemli def zamYap(self): self.maas = self.maas+ (self.maas * self.zam_orani)
Yukarıda örnek Calisan adında bir nesne yer almaktadır.
Bu nesneyi incelersek,
__init__ metodu olmazsa olmazdır. Her nesnenin bir yapıcı metodu olmak zorundadır.
giveNameSurame ve zamYap metodları da bu nesneye ait metotlardır. Yani bu metotlara nesne üzerinden erişebiliyoruz.
isci1 = Calisan("mustafa","bükülmez",500)
Bu şekilde Calisan nesnemizden bir işçi türetebiliyoruz.
zam_orani ve ve counter, nesnemize ait değişkenlerdir. Calisan nesnemizi tanımlayan değişkenler değillerdir. Sadece nesnemiz içerisindeki işlemleri yapabilmek amacı ile kullandığımız değişkenlerdir.
Örneğin counter değişkeni, bu nesneden türetilen diğer nesnelerin sayısını bulmak için kullanıyoruz.
Örnekler
Şimdi Calisan nesnemizden 5 tane işçi nesnesi üretelim ve bu işçiler arasındaki en yüksek maaşı alan kişiyi bulalım. Bunun bir örneğini Loop konusunda QUIZ olarak yapmıştık.
calisan1 = Calisan("mustafa","bükülmez" , 200) calisan2 = Calisan("ali","bükülmez" , 100) calisan3 = Calisan("mehmet","bükülmez" , 300) calisan4 = Calisan("ayşe","bükülmez" , 400) calisan5 = Calisan("fatma","bükülmez" , 500) liste = [calisan1, calisan2,calisan3,calisan4,calisan5] maxi_maas = -1; index =-1 for each in liste: if(each.maas > maxi_maas): maxi_maas = each.maas index = index + 1 print(maxi_maas)
Gördüğünüz gibi 5 tane işçi nesnesi ürettik ve bunları bir listeye aldık. Loop dersimizdeki QUIZ’de olduğu gibi en yüksek maaşı buluyoruz.
Burada anlatabileceğim daha fazla bir şey yok. Hedef yapay zeka konusu olduğundan dolayı ve OOP kısmını çok fazla kullanmayacak olmamızdan dolayı bu kadar kısa bir yazı oldu. OOP kısmını daha derinlemesine öğrendiğim zaman ilgili yazıları da eklerim.
Python Yapay Zeka Günlüğü #6 – OOP yazımda bu kadardı arkadaşlar..
Diğer yazılarımda görüşmek üzere… Buraya tıklayarak tüm Python yazılarıma ulaşabilirsiniz.
NOT: Arkadaşlar bu yazıları yeni öğrenen birine ders anlatır gibi yazıyorum. Bunun sebebi ise bir süre sonra geri dönüp baktığımda net olarak hatırlayabileyim diye ve benim yazılarıma ulaşan insanların da anlayabilsin diye…
Sağlıcakla ve Takipte kalın. :)
Sayfanızı yeni keşfettim inanılmaz güzel sayfanız yazılarınız vs bence kesinlikle sıradaki konuya geç gibi yazılarınız olmalı
bende sizler gibi ağ okudum ve bilgisayar programcılığındayım bayılıyorum kod yazmaya fakat ülkemizde ve dünyada dayatılan şey matematik. Matematik bilmeden olmaz demeleri güldürüyor beni ve yazdığınız her konuya bakıyorum resmen ellerinize sağlık.
Merhaba,
Güzel yorumunuz için teşekkür ederim. Matematik önemli tabi ama yazılım bilmek için de şart olan bir şey değil. Matematiği çok iyi olmayanlarda yazılım geliştirebilirler.
Yazıları rastgele yazıyorum. O anda aklıma gelen bir konu olduğunda veya bir projemde ilk defa kullandığım bir şey olduğunda yazıyorum. Bu yüzden de konular hep karmaşık oluyor haliyle. Bu yüzden sonraki yazıya geç özelliği mümkün olmuyor. Çünkü Yazılma sıraları karma karışık. :)