Merhaba,
Aşağıdaki kodu yazdım ama en son ali'nin maaşını yazdırmak istediğimde;

Traceback (most recent call last):
File "class.py", line 35, in <module>
ali.kişi_maaş_sorgula()
AttributeError: 'calisan' object has no attribute 'kişi_maaş_sorgula'

hatası alıyorum.

Yardımcı olacak, bilale anlatır gibi anlatacak biri var mıdır?

class calisan:
personel_listesi = []

def __init__(self,isim,maas,pozisyon):
self.isim= isim
self.maas= maas
self.pozisyon= pozisyon
self.personel_ekle()

def personel_ekle(self):
self.personel_listesi.append(self.isim)
print(self.isim + " personel listesine eklendi!")

@classmethod
def personel_listele(cls):
for kisi in cls.personel_listesi:
print(kisi)

def kişi_maas_sorgula(self):
print(self.isim + " adlı personelin maaşı: " + str(self.maas) + " TL")


ali=calisan("Ali",3000,"Müdür")
#ali.kişi_maas_sorgula()

calisan.personel_listele()

secim = input("Maaşını öğrenmek istediğin biri var mı?\n")
if(secim == "E"):
print("Kimi sorgulamak istersin?")
calisan.personel_listele()
sonuc = input("Giriş yapın:")
if(sonuc == "Ali"):
ali.kişi_maaş_sorgula()

print("End of the program")

 

Tam incelemedim ancak Kişi_maas_sorgula olarak tanımlamissin metodu. Kişi_maaş_sorgula olarak değil. Türkçe karakter kullanmadan değişkenleri tanımlamak en iyisi bu arada, böyle sıkıntılar çıkar yoksa.

j r r tolkien hayrani

tolkein +1. method adi "kişi_maas_sorgula" ama cagirirken "kişi_maaş_sorgula" olarak cagirmissin. hata mesajinda da "kişi_maaş_sorgula diye bir method yok" diyor. mumkun oldugunca turkce karakter kullanmamaya calis.

nickmickyok
1

mobil görünümden çık