Python (class) fonksiyonlar arası bilgi aktarımı

Eyyüp Ensar

Hectopat
Katılım
4 Ocak 2021
Mesajlar
30
Daha fazla  
Cinsiyet
Erkek
Python:
class lamba:
    def fis(self):
        self.fişş = input('lamba fişe takılı mı e/h ?')
        self.dogrulama()
        self.patlak()

    def patlak(self):
        self.patlakk = input('lamba patlak mı e/h ?')

    def dogrulama (self):
        return self.fişş == 'e'


result = lamba()
result.fis()
Kendimce çalışırken bir yerde takıldım classlarda bir fonksiyondan aldığımız bilgiyi diğerine nasıl geçiriyoruz?
Burada mesela lambanın fişe takılı olup olmadığını sorgulatmak istiyorum ve bunu def dogrulama(self): fonksiyonu ile geri göndermek istiyorum ama bana çıktı vermiyor.
Yardımcı olabilir misiniz?
 
Son düzenleyen: Moderatör:
Class içinde, class içindeki fonksiyonları kullanmak için başına self eklemen gerekiyor. Yani self.dogrulama(parametre) şeklinde.
 
Class içinde, class içindeki fonksiyonları kullanmak için başına self eklemen gerekiyor. Yani self.dogrulama(parametre) şeklinde.
Bunu yaptım zaten def fis(self): fonksiyonun için def dogrulama(self): fonksiyonunu self.dogrulama() şeklinde attım ama bana gelen çıktı True/False gelmiyor.
Bunun için bir yöntem vardı:
Python:
class lamba:
    def fis(self):
        self.fişş = input('lamba fişe takılı mı e/h ?')
        self.dogrulama(self.fişş)
        self.patlak()

    def patlak(self):
        self.patlakk = input('lamba patlak mı e/h ?')

    def dogrulama (self,fişş):
        return self.fişş == 'e'


result = lamba()
result.fis()
result.dogrulama()
self.fişşden aldığım değeri def dogrulama(self,fişş) şeklinde göndermeye çalıştım ama benden bir parametre girmediğimi söylüyor ve hata alıyorum bir yerde hata yapıyorum onu bulmaya çalışıyorum
Hatamı buldum printyazacağım yerereturn yazmışım ama yukarıdaki anlatmaya çalıştığım yöntemi birisi anlatırsa sevinirim.
 
Son düzenleme:
Hocam self.dogrulama() fonksiyonunu çağırırken self parametresi vermemeniz gerekiyor. Direkt vermek istediğiniz parametreleri self parametresini yok sayarak verin. Yani;
def dogrulama(fişş) şeklinde olmalı.
 
Kodu pek anlayamadım ama şöyle bir şey yaptım umarım işe yarar...
Python:
class lamba:
    def patlak(self):
        self.patlakk = input('lamba patlak mı e/h ?')
        if self.patlakk == 'e':
            print("fişi değiştiriniz.")
        else:
            print("elektriği kontrol ediniz.")
    def dogrulama (self):
        self.fişş = input('lamba fişe takılı mı e/h ?')
        if self.fişş == 'e':
            self.patlak()
        else:
            print("fişi takınız.")


result = lamba()
result.dogrulama()
Amacınızı bilmemekle birlikte eğer doğruysa algoritma noktasında sıkıntı yaşamışsınız sanırım.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…