Python Kod

  1. Anasayfa
  2. »
  3. Genel
  4. »
  5. Python Self kullanımı

Python Self kullanımı

admin admin - - 18 dk okuma süresi
87 0

Python programlama dilinde sınıflar oluşturulurken self kelimesi oldukça önemlidir. Self kelimesi, sınıf içinde metotların ve özelliklerin çağırılmasında kullanılır. Self kelimesinin kullanımı sayesinde sınıf içindeki bilgilerin değiştirilmesi ve işlenmesi mümkün olur. Bu nedenle self kelimesinin kullanımı, Python’da sınıf yapısını anlamak için oldukça önemlidir.

Self kelimesinin kullanımı, sınıf içindeki metotlarda objeye erişmek için kullanılır. Metotların içinde geçen self ifadesi, o metoda ait olan objeyi ifade eder. Bu sayede sınıf özelliklerine ve metotlarına erişmek mümkündür. Self kelimesinin kullanımı, nesneler arasında veri aktarımının nasıl yapıldığına dair de bir açıklama sunar. Her obje kendi verilerine sahip olduğundan, self kelimesi bu veriler arasında geçiş yapmamızı sağlar.

Self nedir?

Self, Python dilinde objeler arasında veri paylaşımı yapmamızı sağlayan bir kavramdır. Self kelimesi, sınıf içinde tanımlanan bir metodun, sınıf içindeki özellik ve metotlara erişimini sağlama amacı taşır. Böylece, sınıfın özelliklerinin veya metotlarının belirli bir bölümünden diğer bölümlerine veri aktarımı gerçekleştirilebilir.

Self kelimesi, genellikle başka programlama dillerindeki this kelimesi gibi kullanılır. Sınıfın kendisini ifade eder ve objenin referansını gösterir. Herhangi bir sınıf metodu tanımlanırken, ilk parametre olarak self ifadesi kullanılır. Bu sayede, sınıf içindeki özellik veya metotlara erişmek mümkün hale gelir.

Self neden kullanılır?

Python sınıflarında self kelimesi, sınıfın nesneleri arasında veri aktarımının nasıl yapıldığını açıklamak için kullanılır. Yani bir sınıfın özelliklerine veya metotlarına erişmek için kullanılan bir anahtar kelime olarak düşünülebilir.

Self kelimesi, sınıfın özelliklerinde veya metotlarında kullanılabilen diğer değişkenlere benzer şekilde kullanılır. Ancak bir farkı vardır; self kelimesi, sınıfın kendi nesnesi içindeki verileri ifade ederken, diğer değişkenler sınıfın dışındaki verileri ifade eder.

Kısacası, self kelimesi kullanılarak sınıfın özellikleri ve metotları arasında bağlantı kurulur ve nesneler arasındaki veri aktarımı sağlanır. Bu da sınıf yapısının anlaşılmasını ve kodun okunabilirliğini artırır.

Self kullanımı örneği

Self, Python sınıflarında oldukça önemli bir yapı taşıdır. Bu yapı, nesneler arasında veri aktarımını sağlar ve sınıf yapısını anlamak açısından da büyük bir önem taşır. Peki, self kelimesinin kullanımını bir örnekle açıklayabilir miyiz?

Örnek bir Python sınıfımız olduğunu varsayalım:

Sınıf Adı Açıklama
Ogrenci Öğrenci sınıfı, öğrencilere ait bilgileri tutar.

Şimdi bu sınıfa, öğrencilere ait isim ve yaş gibi özellikleri ekleyelim. Aşağıdaki sınıf tanımı, öğrenci ismi ve yaşı gibi özellikleri oluşturacak:

class Ogrenci:    def __init__(self, isim, yas):        self.isim = isim        self.yas = yas
  • __init__ metodu, Python’daki kurucu metottur ve sınıfın başlatılması sırasında otomatik olarak çağrılır.
  • self.isim ve self.yas, sınıf içindeki değişkenleri tanımlar.

Bu şekilde, öğrenci sınıfı oluşturuldu ve öğrenci sınıfına ait özellikler tanımlandı. Ancak, özelliklerin değerlerini atamadığımız sürece bu özellikler boş kalacaktır. Bu durumda, sınıfın bir örneğini oluşturup özelliklerini tanımlamalıyız:

ogrenci1 = Ogrenci("Ali", 20)print(ogrenci1.isim)print(ogrenci1.yas)

Bu şekilde, öğrenci sınıfı ve özelliklerinin nasıl tanımlandığı ve kullanıldığı hakkında bir fikir sahibi olduk. Self kelimesi, sınıf yapısını anlamak ve kodun okunabilirliğini artırmak açısından oldukça önemlidir.

Sınıfın özellikleri

Sınıfın özellikleri, Python sınıflarında yer alan ve self kullanarak tanımlanabilen değişkenlerdir. Bu özellikler, sınıfın her bir örneğine özgü değerler taşıyabilirler. Örneğin, bir Telefon sınıfı tanımlayalım. Sınıfın özellikleri arasında marka, model ve fiyat gelir. Bu özellikler, her bir telefon için farklı değerler taşır.

Sınıf özellikleri, sınıfın başlatılması sırasında __init__ metodu ile birlikte belirlenir. Self kullanarak özellikleri tanımlayabiliriz. Örneğin, aşağıdaki örnekte, Telefon sınıfının özellikleri tanımlandıktan sonra, bir obje oluşturulmuştur:

class Telefon:
def __init__(self, marka, model, fiyat): # Telefon özelliklerinin tanımlanması
self.marka = marka # Marka özelliği
self.model = model # Model özelliği
self.fiyat = fiyat # Fiyat özelliği
telefon = Telefon(“Samsung”, “Galaxy S21 Ultra”, 7999) # Yeni bir telefon oluşturulması

Yukarıdaki örnekte, Telefon sınıfı ve sınıfın özelliklerinin tanımlanması gösterilmektedir. self kullanımı ile birlikte, özellikler marka, model ve fiyat isimleriyle tanımlanmıştır. Ayrıca, init metodu kullanılarak, yeni bir telefon objesi oluşturulmuştur. Bu obje için belirlenen özellikler, söz konusu telefonun markası, modeli ve fiyatını belirtmektedir.

Sınıfın metotları

Sınıflar içinde yer alan metotlar, nesneler üzerinde bir dizi eylem gerçekleştirmek için kullanılır. Metotlar da sınıf içinde tanımlanır ve self kelimesi tarafından tanımlanan nesnelere erişmek için kullanılır. Örneğin, bir araba sınıfında, motoru çalıştıran bir metot tanımlanabilir.

Metotlar, sınıf içinde tanımlandığında self parametresine sahip olur. Bu sayede, sınıf içinde yer alan diğer özelliklere de erişilebilir. Örneğin;

class Araba:
def __init__(self, marka, model, renk): # Araba özellikleri
def calistir(self): # Arabanın motorunu çalıştırır

Yukarıdaki örnekte, Araba sınıfında yer alan calistir() metodu, self parametresine sahiptir. Bu sayede Araba sınıfının özelliklerine erişilebilir ve motor fonksiyonunu çalıştırırken, aracın marka, model ve renk gibi özelliklerini kullanabilir.

Sınıflar içinde tanımlanan metotlar, örnekleri içerebilir. Örneğin, yine Araba sınıfı üzerinden gidersek;

class Araba:
def __init__(self, marka, model, renk): # Araba özellikleri
def calistir(self): # Arabanın motorunu çalıştırır
def durdur(self): # Arabanın motorunu durdurur

Yukarıdaki örnekte, durdur() metodu da self kelimesi aracılığıyla erişim sağlar. Bu sayede, arabanın motoruna erişim sağlanarak, durdur() metodu çağrıldığında motor durdurulabilir.

Self kullanımının önemi

Self kelimesinin Python sınıflarındaki kullanımı, sınıf yapısını anlamak ve kodun okunabilirliğini artırmak açısından oldukça önemlidir. Self sözcüğü, bir nesne ile ilgili işlevleri belirli bir sınıfta tanımlarken, sınıfın içindeki değişkenlere veya diğer özelliklere erişmek için kullanılır. Bu sayede, bir sınıfın nesneleri arasında veri aktarımı daha kolay ve anlaşılır hale gelir.

Self kullanımı, kodun daha düzenli ve sınıf yapısına uygun olmasını sağlar. Kodun sınıflar halinde yazılması, daha büyük projelerde işleri kolaylaştırabilir ve verimliliği artırabilir. Self kelimesi, bir sınıfın diğer nesneleri ile nasıl etkileşimde olduğunu anlamamıza ve bu etkileşimleri anlamak için kodumuzu daha anlaşılır bir şekilde yazmamıza yardımcı olur.

Kod Açıklama
class Araba:        def __init__(self, marka, model, yil):        self.marka = marka        self.model = model        self.yil = yil    def bilgileriGoster(self):        print("Aracın markası:", self.marka)        print("Aracın modeli:", self.model)        print("Aracın yılı:", self.yil)araba1 = Araba("BMW", "X5", 2020)araba1.bilgileriGoster()      
Sınıf oluşturularak, araba marka, model ve yılı tanımlandı. Daha sonra bu araba özelliği için “bilgileriGoster” metodu oluşturuldu.

Yukarıdaki örnek sınıfta, self kullanımıyla marka, model ve yıl özellikleri tanımlandı ve “bilgileriGoster” metodu ile bu özellikler ekrana yazdırıldı. Dolayısıyla, self kelimesi sınıf yapısını daha da anlaşılır hale getirdi.

Self dışındaki parametreler

Sınıflarda self kelimesi dışında metotlara geçiş parametreleri de eklemek mümkündür. Bu parametreler, metotların self kelimesi dışında diğer nesnelere veri aktarmasına olanak sağlar. Bu parametreleri tanımlamak için metotların başına parametre ismi yazılır ve metot içinde bu isimle birlikte kullanılır. Bu sayede bir metot içerisinde birden fazla parametre kullanımı gerçekleştirilebilir.

Sınıflar içinde parametre kullanımına en çok ihtiyaç duyulan yerler, sınıf metotlarıdır. Bu metotlar sayesinde nesneler arasında iletişim kurmak mümkündür. Veri aktarımı yapmak için kullanılan parametreler, sınıf metotlarının en önemli özelliklerinden biridir. Bu parametrelerle birlikte sınıflar arasında bilgi paylaşımı yapmak son derece kolay hale gelmektedir.

Veri aktarımının yanı sıra, sınıflar içinde kullanılan parametreler, sınıf özelliklerinin de belirlenmesine olanak sağlar. Örneğin bir sınıf içinde bulunan bir nesnenin rengi ya da boyutu gibi özellikler, sınıf metotlarına parametre olarak geçirilebilir. Bu sayede nesneler arasında sadece veri değil, özellik de paylaşımı gerçekleştirilir. Bu özellikleri oluştururken de self kelimesi ile birlikte tanımlama yapılması gerekmektedir.

Sınıflar içinde kullanılan parametreler, metotların kullanımına bağlı olarak farklı şekillerde tanımlanabilir. Sınıfın başlatılması sırasında kullanılan init metodu, diğer parametrelerin tanımlanması için genellikle kullanılan bir yöntemdir. Ayrıca metotların içinde de parametre tanımlaması yapılarak, sınıf içinde farklı özelliklerin tanımlanması sağlanır. Parametre kullanımı sayesinde sınıf yapısı ve nesneler arasındaki veri aktarımı çok daha okunaklı ve anlaşılır hale getirilir.

Init metodu

Init metodu, bir sınıfın başlatılması sırasında self dışındaki parametreleri tanımlamak için kullanılır. Sınıfın başlatılması, özellikle sınıfın nesneleştirilmesi sırasında yapılır. Bu yöntemde, parametrelerin değerleri, sınıfın özelliklerinde belirtilen değerlere atanır. Bu nedenle, sınıfın tanımlanması ve özelliklerinin belirlenmesi ile birlikte, init metodu da kullanılması gereken bir metottur.

Init metodu, sınıfın nesneleştirilmesi sırasında self dışındaki parametreleri tanımlamak için kullanılır. Bu metodu kullanarak, bir sınıfın özelliklerini varsayılan değerlerle tanımlamak mümkündür. Ayrıca, özel bir durumda, init metodu kullanıcıdan veri almak için bir yöntem olarak kullanılabilir.

Örneğin, bir Araba sınıfı için, init metodu marka, model ve fiyat gibi parametreleri alır. Aşağıdaki kod, örnek bir Araba sınıfının init metodunda nasıl kullanıldığını gösterir:

Kod Parametreler
def __init__(self, marka, model, fiyat): self.marka = marka
self.model = model
self.fiyat = fiyat

Bu kodda, init metodu ile sınıfın marka, model ve fiyat özelliklerine dışarıdan girilen değerler atandı. Bu sayede, arabanın marka, model ve fiyat gibi özellikleri nesneleştirme sırasında belirlenmiş oldu.

Metotlardaki diğer parametreler

Python sınıflarında metotlar self dışında daha fazla parametre alabilirler. Bu parametreler, metotların içinde kullanılarak nesnelere işlem yapmamızı sağlar. Örneğin, aşağıdaki sınıf içinde calculate metodu self dışında bir değişken olan radius parametresini alıyor:

Kod Açıklama
class Circle:    pi = 3.14    def calculate(self, radius):        area = self.pi * (radius ** 2)        return area

Bu sınıf içinde Circle adında bir sınıf tanımlanmıştır. calculate metodu, self dışında radius adında bir parametre alır ve alan hesabı yapar.

Yukarıdaki örnekte, calculate metoduna nesne oluşturulurken bir radius değeri vermek gerekir. Örneğin:

c = Circle()print("Dairenin alanı:", c.calculate(5))

Çıktı:

Dairenin alanı: 78.5

Burada, c nesnesi oluşturuldu ve calculate metodu 5 kadar radius değeri ile çağrıldı. Parametreler, sınıflarda çok çeşitli amaçlar için kullanılabilirler. Bir sınıfa ne kadar çok parametre eklenirse, o kadar işlevsel olur. Ancak, sınıf özellikleri ve metotları, verileri güvenli bir şekilde kullanmak için birçok koruma sağladığından, dikkatli olunmalıdır.

İlgili Yazılar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir