Odpovídáte na názor ke článku Modelujeme s pravítkem.
Ahoj, prijde mi, ze kvuli testu isinstance() na konkretni typ jsi prisel o duck-typing. Podle mne to neni nutne a slo by dosahnout pres abstraktni bazove tridy (se zachovanim duck-typingu). Tedy test na typ by overolva abstraktniho predka pomoci if not isinstance(val, virtual_ancestor).
Virtualni predek by se zadefinoval takhle:
import abc
class virtual_ancestor(metaclass=abc.ABCMeta):
pass
A kazdy kdo by chtel mit tridu ktera dedi od toho virtualniho predka (tedy ekvivalent k registrovani constraintu) by se zaregistroval pomoci virtual_ancestor.register(my_type).
Jmenuju se Petr Blahoš. Programuju něco přes 20 let. Tady se snažím psát hlavně o Pythonu, webovém frameworku Pyramid, a občas i o něčem úplně jiném.
Přečteno 21 684×
Přečteno 12 881×
Přečteno 11 082×
Přečteno 10 492×
Přečteno 10 274×