Özel Metotlar # 1 - Python Dersleri (Tutorials)
Merhabalar
Python programlama derslerinin bu bölümünde sınıflara ait olan özel metotlardan bahsedeceğiz.
İlk olarak bu özel metot kavramından bahsedelim.
Bundan önceki derslerimizde kendimiz computer adında bir sınıf oluşturmuştuk. İçerisine model, color, typee gibi özelliklerin yanında bilgileriGoster() adında bir de metot hazırlamıştık.
Sonrasında dir() adında bir fonksiyon kullanmıştık. dir() fonksiyonu, içerisine aldığı sınıfa ait tüm özellik ve metotların bilgisini bize liste halinde sunar.
Hatırladığım kadarıyla sınıfımız, özellikleri ve bilgileriGoster() metodu bu şekildeydi. Şimdi de dir() fonksiyonunun ne yaptığını görelim :
Görüldüğü gibi uzun bir liste karşımıza getirdi. Bu listenin en altındaki bilgiler, bizim oluşturduğumuz computer sınıfına ait özellik ve metotlardır. Diğerleri ise Python tarafından varsayılan olarak tanımlanmıştır.
Özel metotlar, bizim çağırmadığımız ancak her class'a ait olan metotlardır.
İşte bu metotlar, sınıflara ait özel metotlardır.
Listedeki init() fonksiyonunu önceki derslerimizden hatırlıyoruz. Her ne kadar varsayılan olarak gelse de amacımıza uyarlamak için bu fonksiyonu kendimiz tanımlamıştık.
Aynı şekilde diğer default metotları da kendimiz tanımlayabiliriz.
dir() fonksiyonunun listelediği listede bazı metotlar gözüküyor. Mesela bunlardan init() fonksiyonu, bir nesne oluşturulduğunda otomatik olarak çağrılan kurucu bir metottur:
Aynı şekilde computer sınıfından oluşturduğumuz comp nesnesini print() fonksiyonu ile kullandığımızda
<main.computer object at 0x000000197C404470>
değerini döndüren aslında str() metodudur.
Listede daha önce görmediğimiz del() metodu ise bir nesneyi silmek için kullanılır:
komutunu çalıştırdığımızda aslında biz del() metodunu çağırmış oluruz. Bakalım nesnemiz silinmiş mi?
Görüldüğü gibi nesne olmadığına dair bir hata aldık. Nesnemiz silinmiş.
Bu özel metotları, nasıl tanımlayacağımızı bir sonraki derste anlatacağım.
Şimdilik bu kadar.
Umarım faydalı bir çalışma olmuştur.
Teşekkürler.
Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me
This post has received a 16.25 % upvote from @boomerang.
You got a 97.37% upvote from @minnowvotes courtesy of @elektroyazilim!
You got a 94.16% upvote from @luckyvotes courtesy of @elektroyazilim!
You got a 50.00% upvote from @whalecreator courtesy of @elektroyazilim! Delegate your Steem Power to earn 100% payouts.