#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))