İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Script Programlama (Python, Ruby, Perl, Bash/Shell
Script Programlama (Python, Ruby, Perl, Bash/Shell

Class mantığını Anlamak

Toki418227.07.20214 cevap1.352 görüntüleme
2021'den beri140 mesaj
#1
Class mantığını anlamak için şöyle bişey yaptım. Bu olmuş mu? Hatam vs. var mı?
class person():
    def __init__(self,name,surname,birtday_year,unvan):
        self.name = name
        self.surname = surname
        self.birtday_year = birtday_year
        self.unvan = unvan
class teacher(person):
    def __init__(self, name, surname, birtday_year, unvan, salary):
        super().__init__(name, surname, birtday_year, unvan)
        self.salary = salary
    def display_salary(self):
        print(f"{self.name} isimli öğretmenin maaşı {self.salary} ₺'dir.")
    def tax(self):
        self.taxi = (self.salary / 350) * 60
        print('Vergi miktarı: ',self.taxi)
    def newSalary(self):
        self.tax()
        self.salary = (self.salary - self.taxi)
        print('Yeni maaş:',self.salary)
    def teacherInfo(self):
        print("{} {} isimli öğretmen, {} ünvanına sahiptir ve {} ₺ maaş almaktadır.".format(self.name,self.surname,self.unvan,self.salary))

r1 = teacher('Muhammed Ali Fatih','Erbakan',1979,'Doktor',6100)
r1.newSalary()
r1.teacherInfo()
👍 1
Cevaplar
2021'den beri1.239 mesaj
#2
Class mantığını anlamak için şöyle bişey yaptım. Bu olmuş mu? Hatam vs. var mı?
class person():
    def __init__(self,name,surname,birtday_year,unvan):
        self.name = name
        self.surname = surname
        self.birtday_year = birtday_year
        self.unvan = unvan
class teacher(person):
    def __init__(self, name, surname, birtday_year, unvan, salary):
        super().__init__(name, surname, birtday_year, unvan)
        self.salary = salary
    def display_salary(self):
        print(f"{self.name} isimli öğretmenin maaşı {self.salary} ₺'dir.")
    def tax(self):
        self.taxi = (self.salary / 350) * 60
        print('Vergi miktarı: ',self.taxi)
    def newSalary(self):
        self.tax()
        self.salary = (self.salary - self.taxi)
        print('Yeni maaş:',self.salary)
    def teacherInfo(self):
        print("{} {} isimli öğretmen, {} ünvanına sahiptir ve {} ₺ maaş almaktadır.".format(self.name,self.surname,self.unvan,self.salary))

r1 = teacher('Muhammed Ali Fatih','Erbakan',1979,'Doktor',6100)
r1.newSalary()
r1.teacherInfo()
Ben bir hata göremedim bence mantık doğru gibi
Class mantığını anlamak için şöyle bişey yaptım. Bu olmuş mu? Hatam vs. var mı?

class person():
    def __init__(self,name,surname,birtday_year,unvan):
        self.name = name
        self.surname = surname
        self.birtday_year = birtday_year
        self.unvan = unvan
class teacher(person):
    def __init__(self, name, surname, birtday_year, unvan, salary):
        super().__init__(name, surname, birtday_year, unvan)
        self.salary = salary
    def display_salary(self):
        print(f"{self.name} isimli öğretmenin maaşı {self.salary} ₺'dir.")
    def tax(self):
        self.taxi = (self.salary / 350) * 60
        print('Vergi miktarı: ',self.taxi)
    def newSalary(self):
        self.tax()
        self.salary = (self.salary - self.taxi)
        print('Yeni maaş:',self.salary)
    def teacherInfo(self):
        print("{} {} isimli öğretmen, {} ünvanına sahiptir ve {} ₺ maaş almaktadır.".format(self.name,self.surname,self.unvan,self.salary))

r1 = teacher('Muhammed Ali Fatih','Erbakan',1979,'Doktor',6100)
r1.newSalary()
r1.teacherInfo()
bende pythonu yeni öğrendim ben hata göremedim ama hata varsa kusura bakma yanlış yönlendirmiş oluyorum
👍 1
Toki4182 Konuyu açan
2021'den beri140 mesaj
#3
Ben bir hata göremedim bence mantık doğru gibi
bende pythonu yeni öğrendim ben hata göremedim ama hata varsa kusura bakma yanlış yönlendirmiş oluyorum
Hatadan kastım şöyle yapsan daha iyi olur, standardı budur... gibi öneriler aslında. Sağolasın, teşekkür ederim :)
❤️ 1
2021'den beri2.233 mesaj
#4
Bir proje üzerinde çalışarak Class mantığını daha iyi anlıyacağını düşünüyorum
👍 2
2011'den beri7.329 mesaj
#5
sınıf mantığını anlamak için ortalamanın üzerinde bir işi sınıflı ve sınıfsız şekilde yapman gerekir. (mesela bir satranç oyunu)
sınıfsız yaptığında göreceksin ki onlarca farklı değişken oluşturmak zorunda kalacaksın misal
ahmetin_maasi, mehmetin_maasi, necminin_maasi gibi ve parametrelerin bir kısmını global yapıp tüm fonksiyonlara açman gerekecek bir kısmını da, fonksiyondan fonksiyona sonra oradan da başka fonksiyona defalarca aktarman gerekecek hatta bu bağlamda input parametreleri solda, output parametreleri sağda olsun diye düşünmeye başlayacaksın.
python nesne yönelimli tüm güçlere sahip değil, bu bağlamda c++, java, c# ile nesne yönelimli programlamayı daha iyi keşfedebilirsin.
özellikle polimorfizm ve virtual method konularına odaklan misal görsel elementlerde(buton, textbox vs gibi) eventlerin çoğu virtual metod kullanır, bu sayede event seninle alakasız bir yerden tetiklenir ama senin yazdığın metod çağırılır

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.