Wpis z mikrobloga

Potrzebuję pomocy odnośnie używania klas. Mam plik z główną klasą, która ma sporo zmiennych i funkcji. W niektórych funkcjach, małe partie kodu powielają się: z tego powodu chcę stworzyć osobny plik z klasą zawierającą funkcje pomocnicze do głównej klasy. W jaki sposób to zrobić, żeby było jak najprościej/najbardziej czytelnie? Zależy mi na dziedziczeniu, bo chcę uniknąć sytuacji, gdzie mam funkcję z kilkunastoma zmiennymi funkcja(zmienna1, zmienna2, zmienna3...) Próbowałem tę pomocniczą klasę zrobić jako subclass, ale nie ogarniam tego za bardzo i to mi nie zadziałało, dodatkowo program odpala się drugi raz po zamknięciu (nie jestem pewny czy to przez to, ale chyba tak) Wiem, że ciężko pomóc bez kodu, ale jest dość długi i raczej nie chcę się nim dzielić, a przerabianie na przykład też zajęło by sporo czasu.

Dodatkowo jeśli znacie to polećcie jakieś dobre materiały (YT, artykuły) o classach właśnie. Czuję, że mam z tym problem i nie do końca ogarniam jaką strukturę ma przybrać kod, najczęściej upycham wszystko w jednej dużej klasie i musi być coś naprawdę "pobocznego", żebym użył innej klasy.

#python
  • 6
@Oake: jak masz mala partie kodu co wyciaga ci np ustawienia paginacji z db robisz funkcje/klase:

class PaginationConfig:
per_page = 4

def get_pagination_config_factory():
return PaginationConfig()

umieszczasz ja w module pagination w pliku factories (poczytaj o factory pattern) i reużywasz w wielu miejscach w kodzie, i tak ze wszystkim - to ogólny koncept
@Tank1991: ok, ale moja funkcja pomocnicza korzysta z kilku zmiennych z głównej klasy, nie chcę ich wszystkich przepisywać. Chodzi mi o to, że w sytuacji kiedy w głównej klasie mam kawałek kodu, który się powtarza:
if self.alpha = 5:
self.beta = self.alpha + self.gamma

to w pliku pomocniczym definiuję funkcję

def alpha_condition(self):
if self.alpha = 5:
self.beta = self.alpha + self.gamma

I później w głównym kodzie zamieniam po prostu te
to w pliku pomocniczym definiuję funkcję


@Oake: dokłądnie tak

ale chcę tego uniknąć, żeby było czytelniej.

pułapka młodocianego myślenia, jesli dobrze nazwiesz funkcje to bedzie jeszcze czytelniej