Python, nesne yönelimli bir programlama dilidir.
Python’daki hemen hemen her şey, özellikleri ve yöntemleri ile bir nesnedir.
Bir sınıf, bir nesne yapıcısı veya nesne oluşturmak için bir ‘plan’ gibidir.
Python Class (Sınıf) Oluşturma
Python’ da sınıf oluşturmak için class anahtar sözcüğü kullanılır.
Örnek:
p1 adında bir nesne oluşturarak x değerini yazdırın.
1 2 3 4 5 6 7 | class MyClass: x = 5 p1 = MyClass() print(p1.x) |
__init__() Fonksiyonu
Yukarıdaki örnekte nesne ve sınıf kullanımı en basit haliyle verilmiştir. Ancak gerçek hayattaki uygulamalarda pek kullanışlı değildir.
Sınıfların anlamını anlamak için yerleşik __init __ () fonksiyonunu anlamamız gerekir.
Tüm sınıflar, sınıf başlatılırken daima yürütülen __init __ () adında bir işleve sahiptir.
Nesne özelliklerine veya nesne oluşturulurken yapılması gereken diğer işlemlere değer atamak için __init __ () işlevini kullanılır.
Örnek: Person adında bir sınıf oluşturun, ad ve yaş için değerler atamak için __init __ () işlevini kullanın
1 2 3 4 5 6 7 8 9 10 11 | class Person: def __init__(self, name, age): self.name = name self.age = age p1 = Person("Ali", 36) print(p1.name) print(p1.age) |
Python’ da Nesne Metotları
Nesneler ayrıca metotlar içerebilir. Nesnelerdeki fonksiyonlar, nesneye ait olan işlevlerdir.
Person sınıfı içinde bir metot oluşturalım:
1 2 3 4 5 6 7 8 9 10 11 12 | class Person: def __init__(self, name, age): self.name = name self.age = age def myfunc(self): print("Merhaba. Benim adım " + self.name) p1 = Person("Ali", 36) p1.myfunc() |
Self parametresi, sınıfın geçerli örneğine bir referanstır ve sınıfa ait değişkenlere erişmek için kullanılır.
Self Parametresi
Self parametresi, sınıfın geçerli örneğine bir referanstır ve sınıfa ait değişkenlere erişmek için kullanılır.
Kendi ismini vermek zorunda değilsiniz, onu istediğiniz şekilde çağırabilirsiniz, ama sınıftaki herhangi bir işlevin ilk parametresi olmalı:
1 2 3 4 5 6 7 8 9 10 11 12 | class Person: def __init__(mysillyobject, name, age): mysillyobject.name = name mysillyobject.age = age def myfunc(abc): print("Merhaba. Benim adım " + abc.name) p1 = Person("Ali", 36) p1.myfunc() |
Nesne Özelliklerini Değiştirme
Python’ da nesnelerin özelliklerini sonradan değiştirebilirsiniz.
Örnek: P1 nesnesinin yaşını 40’a ayarlayın:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class Person: def __init__(self, name, age): self.name = name self.age = age def myfunc(self): print("Merhaba. Benim adım " + self.name) p1 = Person("Ali", 36) p1.age = 40 print(p1.age) |
Nesne Özelliklerini Silme
Del anahtar sözcüğünü kullanarak nesnelerdeki özellikleri silebilirsiniz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class Person: def __init__(self, name, age): self.name = name self.age = age def myfunc(self): print("Merhaba. Benim adım " + self.name) p1 = Person("Ali", 36) del p1.age print(p1.age) |
Nesneleri Silme
Del anahtar sözcüğünü kullanarak nesneleri de silebilirsiniz:
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class Person: def __init__(self, name, age): self.name = name self.age = age def myfunc(self): print("Merhaba. Benim adım " + self.name) p1 = Person("Ali", 36) del p1 print(p1) |
[…] Python Sınıflar / Objeler […]
hocam merhaba, class içerisine fonskiyon tanımladıktan sonra try-except ile hata olursa kullanabiliyoruz ama try-except tekniğini anlamadım.Bana bu konuda yardımcı olur musunuz? örnek vermem gerekirse ;
class öğrenci ():
def __init__ (self,ad,soyad,numara,notu):
self.ad = ad
self.soyad = soyad
self.numara = numara
self.notu = notu
def öğrenci_bilgileri(self):
print (“Ad: {}\nSoyad: {}\nNumara: {}\nNotu: {}\n”.format(self.ad , self.soyad , self.numara , self.notu))
def öğrenci_durumu (self):
if self.notu>90 :
print(“A”)
elif 90>self.notu>80:
print(“B”)
elif 80>self.notu>70:
print(“C”)
elif self.notu
Merhaba. Try bloğu icerisine hata olusabilecek kodlar yazilir. Except icine ise hata oldugunda calismasi gereken kodlar. Mesela ortalama hesabi yaparken normal kodlari try içine yazmaniz gerekir. Ama kullanici not girisine sayi yerine bir harfte girme ihtimali vardir. Bu yuzden program kodlar duzgun yazilmis olsa bile hata verecektir. bu tarz bir hata olma ihtimaline karsi except bolumundede bir hata mesaji verdirebilirsiniz. Gecersiz giris yaptiniz gibi. Konuyla ilgili daha detayli bir yazi hazirlayip buradan paylasirim.