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