0Pricing
Learn AI with Python · Ders

Sihirli Yöntemler (__str__, __repr__ vb.)

Nesne davranışını özelleştirmek için Python'un özel yöntemlerini keşfetme

Sihirli Yöntemler (__str__, __repr__ vb.), CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 6 dersinin 6. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 6 dersten oluşur.

Sihirli Metotlara Giriş

Sihirli Metotlara Giriş

Dunder metotları olarak da bilinen sihirli metotlar (İngilizce 'çift alt çizgi' ifadesinin kısaltması), Python'da belirli durumlarda nesnelerin nasıl davranacağını tanımlamanızı sağlayan özel metotlardır.

Bu derste __str__, __repr__ ve diğer yaygın sihirli metotları nasıl kullanacağınızı öğreneceksiniz.

Sihirli Yöntemler (__str__, __repr__ vb.) — resim 1

Sihirli Yöntemler Nelerdir?

Sihirli Yöntemler Nelerdir?

Sihirli yöntemler, nesneler üzerinde belirli işlemler gerçekleştirildiğinde otomatik olarak çağrılan, Python'da önceden tanımlanmış yöntemlerdir. __init__ veya __str__ gibi çift alt çizgi kullanılarak tanımlanırlar.

__init__ Metodu

__init__ Metodu

__init__ metodu, yeni bir nesneyi başlatan bir kurucudur. Bir nesne oluşturulduğunda otomatik olarak çağrılır:

# Using the __init__ method to initialize attributes
class Person:
    def __init__(self, name, age):
        self.name = name  # Initialize the name attribute
        self.age = age  # Initialize the age attribute

# Creating an instance of Person
person = Person("Alice", 30)
print(person.name, person.age)  # Outputs: Alice 30

__str__ Metodu

__str__ Metodu

__str__ metodu, print() çağrıldığında bir nesnenin dize gösterimini tanımlar:

# Defining the __str__ method
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"Name: {self.name}, Age: {self.age}"  # String representation

person = Person("Alice", 30)
print(person)  # Outputs: Name: Alice, Age: 30

__repr__ Metodu

__repr__ Metodu

__repr__ metodu, bir nesnenin genellikle hata ayıklama amacıyla kullanılan resmî dize gösterimini sağlar:

# Defining the __repr__ method
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return f"Person('{self.name}', {self.age})"  # Debug-friendly representation

person = Person("Alice", 30)
print(repr(person))  # Outputs: Person('Alice', 30)

Sihirli Metotlarla Operatörleri Aşırı Yükleme

Sihirli Metotlarla Operatörleri Aşırı Yükleme

+ veya == gibi operatörlerin davranışını özelleştirmek için sihirli metotları kullanabilirsiniz:

# Overloading the + operator with __add__
class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)  # Adding two points

    def __str__(self):
        return f"({self.x}, {self.y})"

point1 = Point(1, 2)
point2 = Point(3, 4)
result = point1 + point2  # Calls __add__
print(result)  # Outputs: (4, 6)

Yaygın Olarak Kullanılan Sihirli Metotlar

Yaygın Olarak Kullanılan Sihirli Metotlar

Yaygın olarak kullanılan bazı sihirli metotlar şunlardır:

  • __len__: len() işlevinin davranışını tanımlar.
  • __getitem__: Liste veya sözlük gibi dizinlemeyi sağlar.
  • __eq__: == kullanılarak eşitlik karşılaştırmasını özelleştirir.

__len__ ve __getitem__ Kullanımı

__len__ ve __getitem__ Kullanımı

Özel bir nesnenin uzunluğunu tanımlamak için __len__ metodunu, nesneyi dizinlenebilir hâle getirmek için de __getitem__ metodunu kullanabilirsiniz:

# Using __len__ and __getitem__ in a custom class
class CustomList:
    def __init__(self, items):
        self.items = items

    def __len__(self):
        return len(self.items)  # Defines the behavior of len()

    def __getitem__(self, index):
        return self.items[index]  # Enables indexing

custom_list = CustomList([1, 2, 3])
print(len(custom_list))  # Outputs: 3
print(custom_list[1])  # Outputs: 2

Sihirli Metotlarla İlgili Yaygın Hatalar

Sihirli Metotlarla İlgili Yaygın Hatalar

Kaçınmanız gereken bazı hatalar şunlardır:

  • Bir sihirli metodu, amaçlanan davranışına uygun olmayacak şekilde tanımlamak.
  • Operatörleri gereksiz yere aşırı yüklemek.
  • Özel veri türlerinde gerekli sihirli metotları uygulamayı unutmak.

Neler Öğrendiniz?

Neler Öğrendiniz?

Bu derste şunları öğrendiniz:

  • Sihirli metotların ne olduğunu ve neden yararlı olduklarını.
  • __init__, __str__ ve __repr__ gibi yaygın sihirli metotların nasıl kullanılacağını.
  • Sihirli metotları kullanarak operatörlerin nasıl aşırı yükleneceğini.

Harika iş çıkardınız! Şimdi sonraki konuya geçelim.

Sihirli Yöntemler (__str__, __repr__ vb.) — resim 11

Sıkça Sorulan Sorular

“Sihirli Yöntemler (__str__, __repr__ vb.)” dersi ücretsiz mi?

Evet — “Sihirli Yöntemler (__str__, __repr__ vb.)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 6 dersten oluşur.

“Sihirli Yöntemler (__str__, __repr__ vb.)” dersinde ne öğreneceğim?

Nesne davranışını özelleştirmek için Python'un özel yöntemlerini keşfetme Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 6 dersinin 6. dersidir.

“Sihirli Yöntemler (__str__, __repr__ vb.)” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Sınıflar ve Nesneler
  2. Öznitelikler ve Yöntemler
  3. Kalıtım
  4. Çok Biçimlilik
  5. Kapsülleme ve Soyutlama
  6. Sihirli Yöntemler (__str__, __repr__ vb.)
← Learn AI with Python Sayfasına Dön