Wpis z mikrobloga

#python #programowanie
czy dobrze rozumiem obiektówkę w pythonie?

def __Foo(self) - prywatna metoda w klasie
def __init__(self) - publiczny konstruktor w klasie
def __foo__(self) - publiczna metoda w klasie

Wygląda mi to na brak spójnej składnii, ale zgaduję że jest jakieś sensowne uzasadnienie czemu to wygląda tak, a nie inaczej.
I dlaczego na boga muszę ręcznie wywoływać konstruktor i destruktor klasy pochodnej ( ͠° °)
  • 36
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@RedveKoronny: nie nie, nazwy z podwójnymi podkreśleniami przed i po nazwie to konwencja nazywania "specjalnych" metod/zmiennych Pythona i nie ma to nic wspólnego ze zmiennymi publicznymi/prywatnymi w klasie. Na przykład masz popularne sprawdzenie "if __name__ == "__main__":" w plikach main.py, czy nadpisywanie metod toString poprzez metodę __str__ w klasach. Tutaj post na Stacku na ten temat: https://stackoverflow.com/questions/1301346/what-is-the-meaning-of-single-and-double-underscore-before-an-object-name
  • Odpowiedz