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-25

Bu 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:

  1. Python sınıfları
  2. Python sınıfları – tanım
  3. Python sınıflarının başlatılması
  4. İlk Python sınıfımızı yazalım
  5. Öznitellikler
  6. Sınıfın davranışı
  7. Python'daki nesneler
  8. 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.

python_classes

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

Python classes and objects. Part 9 Python Course from Beginner to Advanced in 11 blog posts robert whitney avatar 1background

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:

  1. Python Kursuna Giriş. 11 blog yazısında Başlangıç ​​Düzeyinden İleri Düzeyine Bölüm 1 Python Kursu
  2. 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
  3. 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
  4. 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
  5. Python'da koşullu ifadeler. 11 blog gönderisinde Başlangıç ​​Düzeyinden İleri Düzey'e 5. Bölüm Python Kursu
  6. Python'da döngüler. 11 blog gönderisinde Başlangıç ​​Düzeyinden İleri Düzeye Bölüm 6 Python Kursu
  7. Python işlevleri. 11 blog gönderisinde Başlangıç ​​Düzeyinden İleri Düzeyine Bölüm 7 Python Kursu
  8. Python'da gelişmiş işlevler. 11 blog gönderisinde Başlangıç ​​Düzeyinden İleri Düzey'e Bölüm 8 Python Kursu
  9. Python sınıfları ve nesneleri. 11 blog yazısında Başlangıç ​​Düzeyinden İleri Düzeyine Bölüm 9 Python Kursu
  10. Python'daki dosyalar. 11 blog gönderisinde Başlangıç ​​Düzeyinden İleri Düzeyine Bölüm 10 Python Kursu
  11. Pratikte Python uygulamaları. 11 blog gönderisinde Başlangıç ​​Düzeyinden İleri Düzeye Bölüm 11 Python Kursu