Class ile ilgili bir soru

 class Giriş():
    def __init__(self):
	    self.sayı_1=input('''Hangisiyle giriş yapmak istersiniz?
		    1)Müşteri numarası
		    2)T.C. kimlik numarası
		    3)Kullanıcı adı ve şifre''')
	    if self.sayı_1==1:
		    return Giriş().müşteri_numarası()
	    if self.sayı_1==2:
		    return Giriş().tckimliknumarası()
	    if self.sayı_1==3:
		    return Giriş().kullanıcıadı()
    @classmethod
    def müşteri_numarası(cls):
        a=input('Müşteri numaranız?')
        print('Hoşgeldiniz')
    @classmethod
    def tckimliknumarası(cls):
        b=input('T.C. Kimlik Numaranız?')
	print('Hoşgeldiniz')
    @classmethod
    def kullanıcıadı(cls):
        c=input('Kullanıcı adınız ve şifrenizi arada bir boşluk bırakarak giriniz')
	print('Hoşgeldiniz')

Merhaba,burada ne yapmak istediğimi anlamışsınızdır.Ancak
Giriş()
Hangisiyle giriş yapmak istersiniz?
1)Müşteri numarası
2)T.C. kimlik numarası
3)Kullanıcı adı ve şifre2
<main.Giriş object at 0x0000026FEC7A8EE0>
böyle bir çıktı alıyorum.Bu durumu düzeltmek için ne yapmalıyım.2 girdisinden sonra tckimliknumarası
fonksiyonunu çağırması nasıl bir değişiklik yapmam gerekiyor ve neden böyle bir çıktı alıyorum.Yardımcı olur musunuz?

Merhaba, aramıza hoşgeldiniz.
Kodunuzu daha kolay kopyalayabilmemiz için buraya uygun olarak tekrar düzenler misiniz ?

Büyük ihtimal şöyle kullanıyorsunuz:

print(Giris()) 

Aslında kodunuz doğru çalışıyor, Hem giris sınıfının örneğini oluşturuyorsunuz hem de giris sınıfının objesini yazdırıyorsunuz.

Giris()

Menü kısmında if elif yapısı kullanmanızı öneririm. Ayrıca diğer metotları niye sınıf metodu yaptınız? Onu da geçtim, niye init metodunu sınıf metodunun sonucu olarak döndürüyorsunuz. Bu kısmın init fonksiyonu sadece None döndürebildiği için hata yükseltme oranı çok yüksek.


class Kayit():
    kayitlilar = [] 
    def __init__(self):
	    self.kayit_yontemi = input('''Hangisiyle kayıt olmak istersiniz?
		    1)Müşteri numarası
		    2)T.C. kimlik numarası
		    3)Kullanıcı adı ve şifre
		    ''')
	    self.kayit(int(self.giris_yontemi))
              
    @classmethod
    def kayit(cls,yontem):
        if yontem == 1:
            veri = input("Müşteri numaranız: ")
        elif yontem == 2:
            veri = input("TC kimlik numaranız: ")
        elif yontem == 3:
            veri = input("Kullanıcı adınız: ")
        else:
            print("Geçersiz giriş yöntemi. ")
            return False
        cls.kayitlilar.append(veri)
        print("Kayıt oldunuz! ")
        return True
        
Kayit()
 
1 Beğeni