#special(dunder) methods

class Fruits():

def __init__(self,name,calories):
self.name = name
self.calories = calories

def __str__(self): # bu oluşturulan instance'lerin (obje'lerin) string olarak gösterilmesini sağlayan özel (special,dunder methods) bir metodlardan biridir. java'da ki toString gibi.
return f"{self.name} has {self.calories}" # oluşturulan obje'yi print edersek bu kısımda ki return ettiğimiz "name has calori" bilgisini yazdıracaktır.
# neyi return ettirirsek onu yazdırır. neyi return ettireceğimiz bize bağlıdır yani istediğimizi yazabiliriz.

def __len__(self): # aynı str gibi buda başka bir özel metod.
return self.calories

my_fruit = Fruits("banana",333)

print(my_fruit)

print(len(my_fruit))