Merhaba Class Yapılarını Öğreniyorum ve Ses açma kapama fonksiyonları yapıyorum ve yoplu olarak durum diye bir fonksiyonda tutuyorum fonksiyonu ilk çağırdığımda hata vermiyor lakin ses aç fonksiyonu çağırıp sonra tekrar durum u çağırınca ““TypeError: ‘str’ object is not callable”” hatası veriyor.
Yardımcı Olabilecek Varmı?
Bir karakter dizisini fonksiyonmuş gibi çağırmaya çalışıyorsunuz.
Karakter dizisi nedir yani
str
Kodlarınızı burada anlatıldığı şekilde atın:
class Bilgisayar():
def durum(self):
self.durum = "Kapalı"
self.ses = 0
print(self.durum,self.ses)
def pc_ac(self):
if(self.durum == "Açık"):
print("Bilgisayar zaten Açık...")
else:
self.durum = "Açık"
def pc_kapat(self):
if (self.durum == "Kapalı"):
print("Bilgisayar zaten Kapalı...")
else:
self.durum = "Kapalı"
def ses_ac(self):
self.ses += 5
def ses_kapat(self):
self.ses -= 5
bilgisayar = Bilgisayar()
bilgisayar.durum()
bilgisayar.pc_ac()
bilgisayar.pc_ac()
bilgisayar.pc_kapat()
bilgisayar.pc_kapat()
bilgisayar.durum()
Burada durum
niteliğine "Kapalı"
değeri atanarak durum
metodu gölgeleniyor. Artık bilgisayar.durum
bir fonksiyon değil, "Kapalı"
.
Anladım Galiba burayı init ile yapmalıydım.
Metod ve nitelik adları farklı olmalı.
Durum methodunun ismini durumAl olarak degistirebilirsiniz