Python'da Nesne Yönelimli Programlamaya Giriş
George Boorman
Curriculum Manager, DataCamp
class Customer: def __init__(self, name, balance): self.name, self.balance = name, balance customer1 = Customer("Maryam Azar", 3000) customer2 = Customer("Maryam Azar", 3000)# Eşitliği kontrol et customer1 == customer2
False
class Customer: def __init__(self, name, balance, acc_id): self.name, self.balance = name, balance self.acc_id = acc_id customer1 = Customer("Maryam Azar", 3000, 123) customer2 = Customer("Maryam Azar", 3000, 123)customer1 == customer2
False
customer_one = Customer("Maryam Azar", 3000, 123) customer_two = Customer("Maryam Azar", 3000, 123)print(customer_one)
<__main__.Customer at 0x1f8598e2e48>
print(customer_two)
<__main__.Customer at 0x1f8598e2240>
print() çıktısı, değişkenin atandığı bellek konumunu gösterir== veriyi değil, referansları karşılaştırır# Aynı veriyi içeren iki farklı liste
list_one = [1,2,3]
list_two = [1,2,3]
list_one == list_two
True
__eq__(), == ile bir sınıfın 2 nesnesi karşılaştırıldığında çağrılırself ve other — karşılaştırılacak nesnelerclass Customer: def __init__(self, acc_id, name): self.acc_id, self.name = acc_id, name# == kullanıldığında çağrılır def __eq__(self, other):# Yazdırma print("__eq__() is called") # Tüm öznitelikler eşleşirse True döndürür return (self.acc_id == other.acc_id) and (self.name == other.name)
# İki eşit nesne
customer1 = Customer(123, "Maryam Azar")
customer2 = Customer(123, "Maryam Azar")
customer1 == customer2
__eq__() is called
True
# İki eşit olmayan nesne - farklı id'ler
customer1 = Customer(123, "Maryam Azar")
customer2 = Customer(456, "Maryam Azar")
customer1 == customer2
__eq__() is called
False
class Customer:
def __init__(self, acc_id, name):
self.acc_id, self.name = idacc_id name
def __eq__(self, other):
# Nesneler aynı özniteliklere
# ve aynı türe sahipse True döndürür
return (self.acc_id == other.acc_id) and (self.name == other.name)\
and (type(self) == type(other))
| Operatör | Yöntem |
|---|---|
== |
__eq__() |
!= |
__ne__() |
>= |
__ge__() |
<= |
__le__() |
> |
__gt__() |
< |
__lt__() |
Python'da Nesne Yönelimli Programlamaya Giriş