On 11-02-15 07:45 PM, alex23 wrote:
Firstly, does MyNumbers _have_ to be a class? Or would a function acting as a class factory be sufficient?
Yes it does. I didn't explain my problem, chose a terrible example. This is more what I'm trying to do:
class thingy: def __init__(self, athingy): self.basic_extract() if self.sortof = def basic_extract(self): do a bunch of things self.sortof = .. def general_method(self) class ThingyTypeA: def __init__(self): further_extract() class ThingyTypeB: def __init__(self): further_extract()
Otherwise, you can change the class of an object, even within its own methods:
And then I just call __init__ method?
class MyNumbers(object): def __init__(self, n = 0): self.original_value = n self.__class__ = BigNumbers if n> 100 else SmallThing
self.__init__()
class BigNumbers(MyNumbers):
def __init__(self):
size = 'big'
self.newvalue = self.original_value * y
class SmallNumbers(MyNumbers):
def __init__(self):
size = 'small'
self.newvalue = self.original_value * x
Hope this helps.
Yes, thanks! -- Yves. http://www.SollerS.ca/ http://blog.zioup.org/ -- http://mail.python.org/mailman/listinfo/python-list