Python sınıfları ve nesneleri. 11 blog yazısında Başlangıç Düzeyinden İleri Düzeyine Bölüm 9 Python Kursu
Yayınlanan: 2022-01-25Bu makale, okuyucunun gerçek dünyadaki bazı temel uygulamalarla birlikte temel Python sınıflarını anlamasına yardımcı olacaktır. Kod düzenleyicimiz olarak Visual Studio Code kullanacağız. Visual Studio Code yüklemediyseniz, yönergeler ilk blogda verilmiştir.
Python sınıfları ve nesneleri – içindekiler tablosu:
- Python sınıfları
- Python sınıfları – tanım
- Python sınıflarının başlatılması
- İlk Python sınıfımızı yazalım
- Öznitellikler
- Sınıfın davranışı
- Python'daki nesneler
- Miras
Python sınıfları
İlk blogda tartıştığımız gibi Python, nesne yönelimli bir programlama dilidir. Python'da nesne yönelimli programlamayı tartışırken çok önemli olan üç ifade vardır. Birincisi sınıf, ikincisi bir nesne, üçüncüsü kalıtım olacaktır. Sınıfın ne olduğuyla başlayalım.
Python sınıfları – tanım
Sınıf, nesnelerin oluşturulmasına yardımcı olan bir plan veya genişletilebilir bir programdır. Bir sınıf davranış ve durumdan oluşur. Bir sınıfın davranışı, sınıf içindeki yöntemler adı verilen işlevler aracılığıyla gösterilir. Sınıfın durumu, sınıf içindeki nitelikler olarak adlandırılan değişkenler kullanılarak gösterilir.
Python sınıflarının başlatılması
Aşağıdaki sözdizimi kullanılarak bir sınıf başlatılabilir.
Python'da bir sınıf, sınıf adından sonra "class" anahtar sözcüğü kullanılarak tanımlanır. Python işlevinin temel sözdizimi aşağıda gösterilmiştir.
Örneğin:
<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" /> # Create a function # class Monkey class classname:
Not: sınıf adı da değişken bildirimi ile aynı normlara sahiptir.
İlk Python sınıfımızı yazalım
# first class class Animals: pass
Yukarıdaki kod bloğunda, blogda daha da geliştireceğimiz bir sınıf yazdık. Gördüğünüz gibi, “class” anahtar kelimesini kullandık.
Şimdi, hayvanın sınıfına nasıl bileşen ekleneceğini görelim. Ama ondan önce “__init__()” yapıcısını öğrenelim. Yapıcılar, nesne somutlaştırması için kullanılır. Burada nesne somutlaştırması için __init__() kullanılır. Yapıcı, argüman olarak yalnızca self ile varsayılan olabilir veya gerekli argümanlarla parametrelenebilir.
Öznitellikler
İki farklı öznitelik türü vardır, birincisi sınıf değişkenleri, ikincisi ise örnek değişkenlerdir. Sınıf değişkenleri, sınıfın sahip olduğu değişkenlerdir. Ayrıca, bu değişkenler sınıfın tüm örnekleri için kullanılabilir. Dolayısıyla, örnek değişse bile değerleri değişmeyecektir.
# class variables class Animals: type=”mammals”
Örnek değişkenleri, örneklerin kendisine ait olan değişkenlerdir. Bu nedenle, örnek değiştikçe değerlerini değiştireceklerdir.
# class variables class Animals: def __init__(self,legs): self.legs=legs
Not: Örnek değişkenleri, erişen nesneye bağlı olarak değiştikleri için sınıf adını kullanarak erişim için kullanılamaz.
Hem sınıf hem de örnek değişkenleri bildirilmiş bir program yapalım.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs
Yukarıdaki programda hem örnek hem de sınıf değişkenlerini kullandık. Yani, bu değişkenler sınıfın niteliklerini oluşturur.
Sınıfın davranışı
Tartışıldığı gibi, sınıfın davranışı, sınıf içindeki yöntemlerle tanımlanır. Ancak davranış üzerine tartışmaya geçmeden önce, __init__() içinde kullandığımız “self” parametresini tartışmaya başlamalıyız.
Öz:
Çok basit bir ifadeyle, ne zaman self'e bir şey eklesek, değişkenin veya fonksiyonun o sınıfa ait olduğunu söylüyor. Ayrıca “self” ile sınıfın özniteliklerine veya yöntemlerine erişilebilmektedir.
Yöntemler:
Sınıf yöntemleri, ilk argümanları “self” olacak olan sınıf içindeki fonksiyonlardır. Sınıf içinde bir metot “def” anahtar kelimesi kullanılarak tanımlanır.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”)
Yukarıdaki “bark” yönteminde, bir instance değişkeni olan name değişkenini kullandığımız için, ona “self” kullanarak erişiyoruz ve bu fonksiyon, sadece isim verilen isim ise “woof woof!!!” yazdıracaktır. nesne, köpektir.
Bir sınıfın bileşenlerinin çoğunu tartıştık, ancak sınıfın çalışıp çalışmadığını nasıl göreceğinizi düşünüyor olabilirsiniz. Bunun cevabı, sınıfın bir nesnesini oluşturmadıkça, sınıfın ne yaptığını göremeyeceğiz. Şimdi sınıfın bir nesnesini tanımlayalım ve oluşturalım.
Python'daki nesneler
Bir nesne, sınıfın bir örneğidir. Bir sınıf yalnızca bir plandır, ancak nesne, gerçek değerlere sahip sınıfın bir örneğidir.
Bir nesneyi tanımlama veya oluşturma kodu aşağıda gösterilmiştir.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4)
Bir nesne oluşturmak için sözdizimi, nesneadı=sınıfadı(argümanlar) şeklindedir. Bu yüzden burada köpek olacak hayvanın adını ve 4 olacak bacak sayısını veriyoruz. Şimdi sınıfın nesnesi oluşturuldu, sonraki adım nesneyi kullanarak özelliklerine erişmek için kullanmaktır. Nesneyi kullanarak bir sınıfın niteliklerine erişmek için, nesne kullanılarak yalnızca örnek değişkenlere erişilebileceğini unutmayın. Sınıfımızdaki örnek değişkenler isim ve bacaklardır.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs)
Gördüğümüz gibi, nokta gösterimini kullanarak örnek değişkenlere erişebiliyoruz.

Çıktıyı inceleyelim.
#Output dog 4
Sınıf veya metotların içindeki fonksiyonlara erişmek için nokta gösterimini kullanacağız. Örnek aşağıda gösterilmiştir.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs) print(dog.bark())
#Output dog 4 woof woof!!!
Yukarıdaki örnekte, oluşturduğumuz dog nesnesini kullanarak “bark” sınıf yöntemine eriştiğimizi görebiliriz. Fonksiyon argümanlarında “self” parametresini kullanmadığımızı görebiliriz. Bunun nedeni, nesnenin kendisi self olarak hareket ettiği için sınıf dışında “self” kullanımına gerek duymamamızdır.
Miras
Kalıtım, sınıf niteliklerinin ve yöntemlerinin bir alt sınıfa geçirilebildiği bir süreçtir. Alt sınıfın miras aldığı sınıf, ana sınıftır. Kalıtım için sözdizimi aşağıda gösterilmiştir.
#Inheritance class parent: class child(parent):
Yukarıdaki çizimden, kalıtım sözdizimi için üst sınıf adını alt sınıfa argüman olarak yerleştirdiğimizi görebiliriz. Animals sınıfını kullanalım ve dog adında bir çocuk sınıfı yapalım. Bu aşağıda gösterilmiştir.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed
Yukarıdaki örnek kodda daha önce oluşturduğumuz hayvanlar sınıfını genişleten bir köpek sınıfı yaptık. Ayrıca, köpek sınıfına miras alınacak adı ve bacakları olan Animals.__init__(argümanları) kullanan Animals parametresini de kullanıyoruz. Daha sonra cins olan köpek sınıfı için bir örnek niteliği yapıyoruz.
Şimdi köpek sınıfı için bir nesne yapalım ve hayvanlar sınıfının özniteliklerine ve yöntemlerine erişelim.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed pug=Dog("dog",4,"pug") pug.breed pug.name pug.legs pug.bark()
#Output pug dog 4 woof woof!!!
Çıktıdan görebileceğimiz gibi, ana sınıf niteliklerine ve yöntemlerine alt sınıf nesnesi tarafından erişilmektedir.
Bu blogda, Python'daki bazı temel sınıfları ele aldık. Bir sonraki blog gönderisinde dosya işleme konusunu ele alacağız.

Ayrıca Başlangıç Seviyesinden İleri Seviyeye kadar JavaScript Kursumuzu da beğenebilirsiniz.

Yazar: Robert Whitney
BT departmanlarına koçluk yapan JavaScript uzmanı ve eğitmeni. Ana hedefi, başkalarına kodlama yaparken nasıl etkili bir şekilde işbirliği yapacaklarını öğreterek ekip üretkenliğini yükseltmektir.
11 blog gönderisinde Başlangıç Düzeyinden İleri Düzeye Python Kursu:
- Python Kursuna Giriş. 11 blog yazısında Başlangıç Düzeyinden İleri Düzeyine Bölüm 1 Python Kursu
- Python'da Değişkenler ve Veri Türleri. 11 blog gönderisinde Başlangıç Düzeyinden İleri Düzey'e 2. Bölüm Python Kursu
- Python demetleri, listeler, kümeler ve sözlükler. 11 blog gönderisinde Başlangıç Düzeyinden İleri Düzeye Bölüm 3 Python Kursu
- Python kümeleri ve sözlükleri. 11 blog gönderisinde Başlangıç Düzeyinden İleri Düzey'e 4. Bölüm Python Kursu
- Python'da koşullu ifadeler. 11 blog gönderisinde Başlangıç Düzeyinden İleri Düzey'e 5. Bölüm Python Kursu
- Python'da döngüler. 11 blog gönderisinde Başlangıç Düzeyinden İleri Düzeye Bölüm 6 Python Kursu
- Python işlevleri. 11 blog gönderisinde Başlangıç Düzeyinden İleri Düzeyine Bölüm 7 Python Kursu
- Python'da gelişmiş işlevler. 11 blog gönderisinde Başlangıç Düzeyinden İleri Düzey'e Bölüm 8 Python Kursu
- Python sınıfları ve nesneleri. 11 blog yazısında Başlangıç Düzeyinden İleri Düzeyine Bölüm 9 Python Kursu
- Python'daki dosyalar. 11 blog gönderisinde Başlangıç Düzeyinden İleri Düzeyine Bölüm 10 Python Kursu
- Pratikte Python uygulamaları. 11 blog gönderisinde Başlangıç Düzeyinden İleri Düzeye Bölüm 11 Python Kursu