folder Tahribat.com Forumları
linefolder Python
linefolder Python İle Classlar Ve Fonksiyonlar Arası Erişim



Python İle Classlar Ve Fonksiyonlar Arası Erişim

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SENAR1ST
    SENAR1ST's avatar
    Kayıt Tarihi: 15/Mayıs/2016
    Erkek

    Merhaba arkadaşlar pythonda çözemediğim temel bir mesele var.

    1. İki farklı class birbirine nasıl erişebilir?

    2. İki farklı fonksiyon birbirine nasıl erişebilir?

    Aşağıdaki tkinter örneğin çalışmıyor çünkü fonksiyon1 anasayfa class'ına erişemiyor...

     

    import tkinter as tk

    def fonksiyon1():
    anasayfa.buton.place_forget()


    class anasayfa():
    tkinter = tk.Tk()
    buton = tk.Button(tkinter, text="TBT",command=fonksiyon1())
    buton.place(relx=0.01, rely=.01)
    tkinter.mainloop()

    anasayfa()
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo
    import tkinter as tk
    
    class anasayfa:
    	def __init__(self):
    		self.tkinter = tk.Tk()
    		self.buton = tk.Button(self.tkinter, text="TBT", command=self.fonksiyon1)
    		self.buton.place(relx=0.01, rely=.01)
    		self.tkinter.mainloop()
    	
    	def fonksiyon1(self):
    		self.buton.place_forget()
    
    anasayfa()
    

     

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SENAR1ST
    SENAR1ST's avatar
    Kayıt Tarihi: 15/Mayıs/2016
    Erkek
    YekteranBaymedir bunu yazdı
    import tkinter as tk
    
    class anasayfa:
    	def __init__(self):
    		self.tkinter = tk.Tk()
    		self.buton = tk.Button(self.tkinter, text="TBT", command=self.fonksiyon1)
    		self.buton.place(relx=0.01, rely=.01)
    		self.tkinter.mainloop()
    	
    	def fonksiyon1(self):
    		self.buton.place_forget()
    
    anasayfa()
    

     

    adamsın hocam burdan çözerim ben gerisini eyvallah.

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek
    import tkinter as tk
    
    class anasayfa(tk.Tk):
        def __init__(self):
            tk.Tk.__init__(self)
            self.buton = tk.Button( text="TBT",command=self.fonksiyon1)
            self.buton.place(relx=0.01, rely=.01)
    
        def fonksiyon1(self):
            self.buton.place_forget()
    
    a=anasayfa()
    a.mainloop()
    

     


    |sadece aptalların başarısı ders notu ile ölçülür|
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nick6
    0x656e
    0x656e's avatar
    Kayıt Tarihi: 19/Mayıs/2012
    Homo
    YekteranBaymedir bunu yazdı
    import tkinter as tk
    
    class anasayfa:
    	def __init__(self):
    		self.tkinter = tk.Tk()
    		self.buton = tk.Button(self.tkinter, text="TBT", command=self.fonksiyon1)
    		self.buton.place(relx=0.01, rely=.01)
    		self.tkinter.mainloop()
    	
    	def fonksiyon1(self):
    		self.buton.place_forget()
    
    anasayfa()
    

     


    @SENAR1ST

    Bildiğim kadarıyla fonksiyon ve class içerisinde geçen değişkenler memory üzerinde(?) farklı şekilde tutulur. Bir fonksiyon içerisinde kullanabileceğin değerler genellikle __locals__ içerisinde tüm kod parçacığında kullanabileceğin değişkenler ise __globals__ içerisinde bulunur. Eğer fonksiyon içerisindeki bir değişkene erişmek istersen öncelikle o değişkeni global olarak tanımlayıp memory'e o şekilde yazmalısın. 

    Örnek:


    Daftın vermiş olduğu örnek kısmında da class içerisindeki değişkenlere örnekleme yaptıktan sonra erişebilirsin.
    Örnek:

    def fonksiyon1(arabamarkasi):
        global araba
        araba = "BMW" # Artık global üzerinden erişilebilir.
     
    def fonksiyon2(kimeait):
       print(f"{araba} {kimeait}'e aittir")
    
    class Araba:
        def __init__(self):
            self.tekersayisi = 4
            self.marka = None
            self.fiyat = 0
        
        @property
        def tekerazalt(self):
             self.tekersayisi -= 1
         
         @property
         def __str__(self):
             return f"Araba markası: {self.marka}, teker sayisi: {self.tekersayisi}, fiyatı: {self.fiyat}"
    ilkaraba = Araba()
    ilkaraba.marka = "BMW"
    ilkaraba.fiyat = "100.000"
    
    
    ikinciaraba = Araba()
    ikinciaraba.marka = "Seat"
    ikinciaraba.fiyat= "85.000"
    
    print(ilkaraba)
    >> Araba markası: BMW, teker sayisi: 4, fiyatı: 100.000
    
    
    
    # Kaza yaptık teker eksildi diyelim.
    ikinciaraba.tekerazalt()
    print(ikinciaraba)
    >> Araba markası: Seat, teker sayisi: 3, fiyatı: 85.000





Toplam Hit: 1342 Toplam Mesaj: 5
python class erişim fonksiyon erişim