Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4
Cevap
257
Tıklama
0
Öne Çıkarma
class
K
4 yıl
Yüzbaşı

Classlardan "objects" yaratıyoruz bunu bildiğini tahmin ediyorum. biz self dedikten sonra (türkçesi kendi demek) objenin kendisini kastediyoruz şöyle göstereyim.


Class Foo():
def __init__(self,x,y): #Bu özel bir method
self.x = x #Burada self.x diyerek objenin x özelliğini "= x" dediğimizde ise fonksiyonun parametresini kastediyoruz
self.y = y #aynı şekilde

object1 = Foo(10,50) #burada bu objectin x'ini 10 y'sini 50 yaptık bu aslında init methodunu çağırıyor sadece.
object2 = Foo(20,60) #burada da benzer bir işlemi başka bir object için yaptık.

print(object1.x) #10
print(object1.y) #50
print(object2.x) #20
print(object2.y) #60



python için self kullanılıyor. başka dillerde bu değişebiliyor javascriptte this oluyor mesela ama mantık aynı.





< Bu mesaj bu kişi tarafından değiştirildi Kurtçu Restrop -- 24 Mart 2021; 23:44:32 >
Bu mesaja 1 cevap geldi.
R
4 yıl
Onbaşı
Konu Sahibi

self.x = x kullanmamızın sebebi nedir ve her değişkenin önüne neden self koyuyoruz anlayamadım herşey basit bir şekilde giderken class ları görmeye başladık ve işleri biraz karıştırdım yardımcı olur musunuz bana ?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



< Bu ileti Android uygulamasından atıldı >

R
4 yıl
Onbaşı
Konu Sahibi

Çok teşekkür ederim daha iyi anladım yani self.skor = 0
Dediğimizde skor aynı zamanda 0 a eşit demek anladığım kadarıyla
İnit i de anlattığın için teşekkürler onu da sayende anladım



< Bu ileti Android uygulamasından atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Kurtçu Restrop
K
4 yıl
Yüzbaşı

evet aynen öyle ama mesela şöyle yaparsak

Class Player():
def __init__(self):
self.score = 0

player1 = Player()
player2 = Player()

player1.score += 5

print(player1.score)#5
print(player2.score)#0
her bir objectin kendi score özelliği oluyor gördüğün üzere


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @ReaLBiloOo
R
4 yıl
Onbaşı
Konu Sahibi

Hmm şimdi daha iyi anlıyorum yani __init__ Player() fonksiyonuna player1 =. Player2 = gibi değişkenler atayarak 1 den fazla kez kullanabilmemize yarıyor. kendimi açıklaya bildiysem artık



< Bu ileti Android uygulamasından atıldı >


Bu mesajda bahsedilenler: @Kurtçu Restrop
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.