python - Map attributes to classes both ways -
i have 2 classes, lower , higher1. when call parse method of instance of lower checks kind of higher class represents, in example show higher1. creates instance of higher class , returns it. can convert instance of higher class instance of lower calling it's build method.
class lower: def __init__(self, data): self.data = data def parse(self): if self.data[0] == "a": value = self.data[1:] return higher(value) else: ... class higher1: def __init__(self, value): self.value = value def build(self): return lower("a" + self.value) so far good, want create classes every possible value of value attribute of higher1. assuming "green" , "blue" possible values there 2 additionally classes called higher1green , higher1blue.
higher1("blue") evaluate instance of higher1blue.
higher1("blue").build() evaluate instance of lower attribute data beeing "ablue".
my question if possible specifying mapping between example blue , higher1blue 1 time , not @ multiple locations in code. don't care if classes higher1blue , higher1green generated dynamically or defined using class.
my first approach overwrite __new__ method of higher1 able return instances of higher1blue or higher1green instead. couldn't find way backwards mapping (higher1blue.build()) without specifying mapping time.
using following link able achieve wanted:
reverse mapping class attributes classes in python
i didn't want vote duplicate because it's not same question , have taken long time wait 50 votes, time people spend time on finding solution when got one.
Comments
Post a Comment