NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Patrik Dlouhý:6.12.2021 16:09

Ahoj,
začal jsem v pythonu a rovnou dělám jeden projekt. Problém není, že by to nefungovalo, spíše mě zajímá, jestli jsem zvolil správnou cestu a případně proč je mé řešení špatné/dobré.
Na úvod: mám projekt rozdělený do modulů/tříd, abych se v tom mohl lépe orientovat.
Moduly jsou:
Engine - zde vytvářím instance, vkládám parametry apod
TextWritter - třída, které se stará o zápis, prověřování zapsaných dat apod.
HtmlParser - třída které mi vyzobává data, se kterými následovně pracuje zbytek programu

O co jsem se pokoušel je, vytvořit instanci TextWritteru ve třídě Engine (zde vkládám parametry) a následovně tuto instanci předat do HtmlParseru, abych během prohledávání HTMLek mohl rovnou i zapisovat.

Zkusil jsem: Vytvořil jsem tedy toto:
Engine:

class Engine:
    def __init__(self, ... dalsi parametry..)
        tw = TextWritter(self.cesta, self.dalsiparametry)
        HtmlParser(tw)

HtmlParser

from class_TextWritter import TextWritter
class HtmlParser(TextWritter):
    def __init__(self, tw):
        self.tw = tw
        self.method_TW_writter()

Chci docílit: Pokud to mám takto napsané, tak mohu ve třídě HtmlParser volat metody TextWritteru (otestováno a provede se, tedy alespoň print), když si vypíšu instanci pomocí vars() tak vše obsahuje správně.

A tedy k původní otázce: je toto řešení v pythonu správné? Vykonává se to co si myslím, že se vykonává?

Předem děkuji za všechny reakce.

 
Odpovědět
6.12.2021 16:09
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.