MrEndXxX def komutu bir fonksiyon tanımlamak için kullanılır int kelimesi fonksiyonun ismidir içindeki self ise aldığı parametredir fakat bu şekilde kullanırsan veri tipi olan int değerini kaybeder ve tip dönüşümlerinde kullanamazsın self parametresinin class dışında kullanıldığı zaman herhangi bir anlamı yoktur. Class içindeyken nesnenin fonksiyonun içindeki ilk parametre (genellikle bu self olur ama self olmak zorunda değil herhangi bir şey de yazılabilir) nesnenin kendisini işaret eder class dışında herhangi bir anlamı yoktur
yani sen buraya
def int(sayi1):
bu şekilde de tanımlayabilirsin
def int(self):
bu şekilde de tanımlayabilirsin ,
ama eğer fonksiyonun içinde şöyle bir tanım yapacaksan
#tanımlıyoruz
def int(self):
self.herhangi_bir_şey = "ÖYLESİNE BİR ŞEY"
# çağırıyoruz
int(int)
yani eğer self ifadesiyle herhangi bir şey tanımlayacaksan çağırırken parantez içine fonksiyonun ismini yazmalısın ama yine de self kullanmak zorunda değilsin parantez içine sayi1 dersin ve yine aynı şekilde çağırırsın yine çalışır
def int(sayi1):
sayi1.herhangi_bir_şey = "ÖYLESİNE BİR ŞEY"
int(int)
Yine aynı sonuca ulaştık
ancak bu şekilde bir kullanım bir classın içinde değilsen gereksiz ve kafa karıştırıcıdır
Bir de ek olarak özel anahtar kelimeleri değişken ,fonksiyon ismi ve class ismi olarak kullanma her zaman hata vermez ama hata vermediğinde de önceki fonksiyon veya class özelliğini kaybeder
Biraz karmaşık anlatmış olabilirim
Bu kitabın nesne tabanlı programlama kısmını okursan daha anlamlı gelebilir
https://python-istihza.yazbel.com/