“Class” yani türkçesi ile “Sınıf” kavramı nesne yönelimli programlama (OOP) dillerinde kullanılan bir kavramdır. Nesne yönelimli programlama dillerinde asıl amaç isimden de anlaşılacağı gibi nesne yaratmak ve programı nesneler ile inşa etmektir. Python da tıpkı Java, C++ dilleri gibi nesne yönelimli programlama dilidir ve class yapısı çok kullanılır. Bu yazımda python class kullanımı nasıl yapılır onu anlamaya çalışacağız.
Python bildiğiniz üzere karmaşık bir programlama dili olmadığı için, class oluşturmak yani tanımlamak da syntax olarak son derece basittir. Bir Python programında class tanımlamak için “class + clasınıza koymak istediğiniz isim” :
class Teknowebilisim():
bilgi = "Tekno web bilişim sizlere yazılım ve teknoloji konularında içerik üreten bir blogdur."
Python’da bir class’ın içindeki değişkenlere ulaşmak için iki şey yapabiliriz. Bunlardan ilki class ismiyle değişkenlere ulaşmak, diğeri ise nesne yaratarak değişkenlere ulaşmaktır.
print(Teknowebilisim.bilgi)
Bu satır ilk yol yani class isminden değişkenlere ulaşma yoludur.
Bu satırda ise ikinci yolu kullandık, yani Teknowebilisim class’ına ait teknowebilisim adlı bir nesne oluşturdum ve bu nesne aracılığıyla bilgi değişkenine ulaştım. Bu iki satırı da yazdığınızda alacağınız çıktı aşağıdaki gibidir:
-Tekno web bilişim sizlere yazılım ve teknoloji konularında içerik üreten bir blogdur.
def __init__(self) Fonksiyonu
Nesne yönelimli programlama hakkında az çok bilginiz varsa zaten constructor nedir biliyorsunuzdur. Constructor dediğimiz yapı, nesne yönelimli programlamada kullanılan ve oluşturduğumuz nesnelere istediğimiz özellikleri verebilmeyi sağlayan bir yapıdır.
def dediğimiz şey definition (tanımlamak) kelimesinden gelen bir fonksiyon tanımlama kalıbıdır. __init__() ise fonksiyonun ismidir ve nesne yapıcı olarak kullanılır. def __init__(self) fonksiyonu mutlaka self diye bir attribute’e sahiptir. self parantez içinde belirtilse de belirtilmese de fonksiyonun içinde mutlaka kullanılır. Nasıl olduğunu görelim:
class Hayvanlar():
def __init__(self,cins):
self.cins=cins
def hayvan_bilgileri(self):
print("Evcil hayvanımın cinsi : " .format(self.cins))
hayvan = Hayvanlar(kedi)
hayvan.hayvan_bilgileri()
Yukarıdaki kod parçasında oluşturduğum Hayvanlar class’ının içindeki init fonksiyonunda hayvan cinsini belirten bir attribute tanımladım. hayvan_bilgileri() fonksiyonunda da girilen hayvanın cinsini yazdırdım. En son da Hayvanlar class’ına ait bir hayvan nesnesi oluşturup o nesne aracılığıyla hayvan_bilgileri() fonksiyonunu çağırdım. Çıktı aşağıdaki gibi olacaktır:
Evcil hayvanımın cinsi : kedi
Gördüğünüz gibi init fonksiyonu ile oluşturduğum nesneye cins özelliğini atadım. Artık hayvan nesnesi oluştururken cinsini belirterek oluşturabiliyorum.
self kavramı ne işe yarıyor diye soracak olursanız, class içerisindeki metotlara ve değişkenlere ulaşmamızı sağlıyor.
Python’da class kullanımı konusunu sizlere ufak örnek kodlarla göstererek anlatmaya çalıştım, ben okulda Python dersi görürken class, self, init gibi birtakım kavramlar son derece kafamı karıştırmıştı. Bu yüzden yine aynı durumda olacak olanlarınız için bu konuyu anlatmaya çalıştım. Sorunuz veya eklemek istediğiniz bir şey olursa lütfen yorumlara yazın 🙂