Merhaba, python programlama yaparken klasik tarzda şu şekilde;
def login_screen():
fonksiyon oluşturuyorum. Fakat mantığını ve kullanım alanlarını anlamak istediğim şu init(): şeklinin tam olarak ne işe yaradığını kavramam lazım. Hangi durumlarda gereklidir, faydası nelerdir, hangi şartları yerine getirir vb. gibi genel bir bilgilendirme yapabilecek var mı aramızda?
Merhaba __init__ fonksiyonu bir yapıcı method diyebiliriz class ilk örneklendiğinde yapılacak olan işleri __init__ blokları içerisinde belirleyebiliriz kısaca ilklendirme methodu.
yapısını gördüm. şuan da kendi hesap kitabımı tutacağım bir program yazarken __init__(): yapısı aklıma geldi acaba kullansam ne faydası olur diye. Söylediklerinize baktıktan sonra çok detaylı bir şey olmadığı için gerek duymadım. Ama cevaplar için teşekkürler üstüne araştırmalar yapıp geliştirip kullanacağım inşallah sağolun
Birçok kez class kullanmak zorunda hissetmeyebilirsiniz. Ama öyle durumlar var ki, ancak bir sınıf kullanırsanız işlemi gerçekleştirebilirsiniz. Örnek olsun diye paylaşıyorum.
Kod 1:
import sys
a = []
save = sys.stdout
sys.stdout = a
print("hello")
sys.stdout = save
print(a)
Bu kodları çalıştırırsanız şöyle bir hata alırsınız:
AttributeError: 'list' object has no attribute 'flush'
Ama aşağıdaki kod listeye "hello" yazısını ekleyecektir.
Kod 2:
import sys
class StdIOYonlendiricisi:
def __init__(self, obj):
self.obj = obj
def write(self, string):
if isinstance(self.obj, list):
self.obj.append(string)
def flush(self):
pass
a = []
save = sys.stdout
sys.stdout = StdIOYonlendiricisi(obj=a)
print("hello")
sys.stdout = save
print(a)
Bu kodları çalıştırdığınız zaman alacağınız çıktı şöyle olacaktır:
['hello', '\n']
Burada yapılan şey şu: Bir sınıfın metotlarını taklit eden başka bir sınıf oluşturduk ve bu sayede listeye eleman eklenmesini sağladık.