Python class ödev yardımı


Yardımcı olabilecek arkadaşıma çok teşekkür ediyorum python dili ile ilgili bilgim çok az olduğu için kesinlikle yapamamaktayım!

Sınıf diyor ancak def ile örnek verilmiş?

class ile sınıf açılacak def ile yapılıcak

Takıldığınız yer neresi?

Sınıfları oluşturuyorum fakat
if name == “main”:
app.run(debug=True)
bu kısımdan sonrasını yapamıyorum çalıştıramıyorum

app ne ki? Kodlarınızı buraya göre atıp takıldığınız yeri tam olarak açıklar mısınız.

    def __init__(self,birimadi,birimkod,lablist):
        self.birimadi=birimadi
        self.birimkod=birimkod
        self.lablist=lablist
    def birimpersonelSayisiYazdir(self):
        print(self.birimadi)
        print(self.birimkod)
        print(self.lablist)
class yuksekokul(birimler):
    def __init__(self,birimadi,birimkod,lablist,ilceAdi,merkezeuzaklikgi):
        super().__init__(birimadi,birimkod,lablist)
        self.ilceAdi=ilceAdi
        self.merkezeuzaklikgi=merkezeuzaklikgi
    def merkezeUzaklikGetir(self):
        print(self.ilceAdi)
        print(self.merkezeuzaklikgi)
class fakulte(birimler):
    def __init__(self,birimadi,birimkod,lablist,kampusAd):
        super().__init__(birimadi,birimkod,lablist)
        self.kampusAd=kampusAd
class arac:
    def __init__(self,ad,ozellik):
        self.ad=ad
        self.ozellik=ozellik
class labaratuvar(arac):
    def __init__(self,ad,ozellik,cihaz,aletler):
        super().__init__(ad,ozellik)
        self.cihaz=cihaz
        self.aletler=aletler
class bilgisayar(arac):
    def __init__(self,ad,ozellik,ram,cpu):
        super().__init__(ad,ozellik)
        self.ram=ram
        self.cpu=cpu
class mikroskop(arac):
    def __init__(self,ad,ozellik,mercek):
        super().__init__(ad,ozellik)
        self.mercek=mercek
if __name__ == "__main__":

    birim1=birimler("Bilgisayar",500,"700")
    birim1.birimpersonelSayisiYazdir()
    birim2=yuksekokul("",500,700,"eskişehir","200km")
    birim2.merkezeUzaklikGetir()

Yazdığım kodları yapamadığım için silmiştim karmakarışık oldu fakat bu şekilde yazılması gerekiyor

Kodları yukarıda verdiğim linke göre düzenler misiniz lütfen.

birde name diye bir değişken yok hatası verir gercekten o kısım oyleyse

def __init__(self,birimadi,birimkod,lablist):
        self.birimadi=birimadi
        self.birimkod=birimkod
        self.lablist=lablist
    def birimpersonelSayisiYazdir(self):
        print(self.birimadi)
        print(self.birimkod)
        print(self.lablist)
class yuksekokul(birimler):
    def __init__(self,birimadi,birimkod,lablist,ilceAdi,merkezeuzaklikgi):
        super().__init__(birimadi,birimkod,lablist)
        self.ilceAdi=ilceAdi
        self.merkezeuzaklikgi=merkezeuzaklikgi
    def merkezeUzaklikGetir(self):
        print(self.ilceAdi)
        print(self.merkezeuzaklikgi)
class fakulte(birimler):
    def __init__(self,birimadi,birimkod,lablist,kampusAd):
        super().__init__(birimadi,birimkod,lablist)
        self.kampusAd=kampusAd
class arac:
    def __init__(self,ad,ozellik):
        self.ad=ad
        self.ozellik=ozellik
class labaratuvar(arac):
    def __init__(self,ad,ozellik,cihaz,aletler):
        super().__init__(ad,ozellik)
        self.cihaz=cihaz
        self.aletler=aletler
class bilgisayar(arac):
    def __init__(self,ad,ozellik,ram,cpu):
        super().__init__(ad,ozellik)
        self.ram=ram
        self.cpu=cpu
class mikroskop(arac):
    def __init__(self,ad,ozellik,mercek):
        super().__init__(ad,ozellik)
        self.mercek=mercek
if __name__ == "__main__":

    birim1=birimler("Bilgisayar",500,"700")
    birim1.birimpersonelSayisiYazdir()
    birim2=yuksekokul("",500,700,"eskişehir","200km")
    birim2.merkezeUzaklikGetir()

Verdiğiniz kodun soruda gösterilen ödev ile alakalı olduğuna emin misiniz?

Yazmıştım ama soruyu yapamadığım için yazdığım kodları sildim karmakarışık bir hal aldığı için o yüzden bu kodu örnek vermek amaçlı buraya koydum bu şekilde yapılacağı için.

Tamam nesne tabanlı programlama kullanılacağı soruda yazılmış zaten, ben size bu soruyu çözmek için ne yazdığınızı ve nerede takıldığınızı sormuştum.

@EkremDincel in oop bildiğine eminim :smile:
örnek vermeye gerek yok

Keşke yapılsa :grinning:

Yapılması gereken çok basit sınıf tanımlandığı anda aşağısındaki aktif yap çalıştırılacak. Telefondan örnek vereyim.

class Kamera(object):
     def __init__(self,name):
              self.name = self.name
              self.aktif_yap()

     def aktif_yap():
             print("Aktif yapıldi")

deneme = Kamera()

#Output:
#Aktif yapildi

Siz kamera nesnesinin yapacagi işi fonksiyonlara ayırdığınız zaman sonunda init kısmında buraya class tetiklendigi zaman yani _call edildiği zaman ne olması gerektiği yazılır.

Yukarıda istenene gore fonksiyonları yazdiktan sonra kamera objesini tetikledigim zaman işlevlerini yapması

Telefondan yazmaya çalıştığım için girdiler kötü olmuş idare edin.

Mesela kamera nesnesi açıldığında 5 saniye sağa 5 saniye sola baksın demiş, bunu yapabilmek için kamera nesnesi içerisinde fonksiyonlar yazılır ve bu işlevi yapacak fonksiyon init içinden çağrılır.

class Kamera(alarm):
     def __init__(self,name):
              self.name = self.name
              self.aktif_yap()

     def deaktif_yap():
             print("Deaktif yapıldi")

deneme = Kamera()

2.sınıfımı tanımladığım zaman bu şekilde olucak değilmi.
Sizden ricada bulunucam buraya yapılmış bir şekilde atabilirmisiniz
fazla vaktim yok ödevlerim fazla da hem öğrenmiş olurum az da olsa 
python da geri kaldığım için kolay olsa bile kavramam biraz güç oluyor..
Teşekkürlerimi sunuyorum.

class Alarm:

def __init__(self,isim):

    self.isim = isim


def aktifyap(self):

    print("alarm aktif yapıldı!")

def deaktifyap(self):

    print("alarm deaktif yapıldı!")

class PIR:

def __init__(self,isim):

    self.isim = isim

def aktifyap(self):

    print("PIR aktif yapıldı!")

def deaktifyap(self):

    print("PIR deaktif yapıldı!")

class Camera:

def __init__(self,isim):

    self.isim = isim

def ac(self):

    print("Kamera açıldı!")

def kapat(self):

    print("Kamera kapatıldı!")

def yondegistir(self,yon):

    import time

    talep = int(input("""
    Kamera nereye doğru dönsün?

    1)Sağ
    2)Sol
    """))

    if talep == 1:

        print("Dönüş başladı")

        for i in range(1,6):

            time.sleep(1)
            print("{} saniye döndü".format(i))

        print("{} derece sağa doğru döndürüldü".format(yon))

    elif talep == 2:

        print("Dönüş başladı")

        for i in range(1,6):

            time.sleep(1)
            print("{} saniye döndü".format(i))

        print("{} derece sola doğru döndürüldü".format(yon))

    else:

        print("Geçersiz talep")
        pass

class Isik:

def __init__(self,isim):

    self.isim = isim

def ac(self):

    print("Işıklar açıldı!")

def kapat(self):

    print("Işıklar kapatıldı!")

kamera_1 = Camera(“Kamera 1”)
kamera_2 = Camera(“Kamera 2”)

isik_1 = Isik(“Işık 1”)
isik_2 = Isik(“Işık 2”)
isik_3 = Isik(“Işık 3”)

alarm = Alarm(“Alarm”)

pir_1 = PIR(“PIR 1”)
pir_2 = PIR(“PIR 2”)
pir_3 = PIR(“PIR 3”)
pir_4 = PIR(“PIR 4”)

def tum_sistem_etkinlestir():

alarm.aktifyap()

kamera_1.ac()
kamera_2.ac()

isik_1.ac()
isik_2.ac()
isik_3.ac()

pir_1.aktifyap()
pir_2.aktifyap()
pir_3.aktifyap()
pir_4.aktifyap()

def tum_sistem_devre_disi():

alarm.deaktifyap()

kamera_1.kapat()
kamera_2.kapat()

isik_1.kapat()
isik_2.kapat()
isik_3.kapat()

pir_1.deaktifyap()
pir_2.deaktifyap()
pir_3.deaktifyap()
pir_4.deaktifyap()

def talepler():

dummy_tekrar = True

while dummy_tekrar:


    istek = int(input("""
    Ne yapmak istiyorsunuz? (Lütfen Numara Giriniz!!!!)

    1) Tüm sistemler ON
    2) Tüm sistemler OFF
    3) Ev güvenlik ana sistem OFF
    """))

    if istek == 1:

        tum_sistem_etkinlestir()

    elif istek == 2:

        tum_sistem_devre_disi()

    elif istek == 3:

        dummy_tekrar = False
        print("Ev güvenlik ana sistem kapandı")

    else:

        print("Tanımsız talep")
        pass

def kamera_donus():

kamera_1.yondegistir("90")
kamera_2.yondegistir("45")

talepler();
kamera_donus();

Genel olarak can alıcı yerleri yapmaya çalıştım. Tabiki eklemelerle falan daha güzel olabilecek şeyler vardır bence.

Çok teşekkürlerimi sunuyorum.Fakat

kamera_1 = Camera(“Kamera 1”)
kamera_2 = Camera(“Kamera 2”)

(Kamera 1") de syntaxError: alıyorum.