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.
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
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:
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.
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ı.
 
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?
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.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı