er................
I think you need a NumberFactory that makes SmallNumber and BigNumber according to the initial value.

?? 2011-2-16 10:23, s...@uce.gov ????:
How can I do something like this in python:

#!/usr/bin/python3.1

class MyNumbers:
  def __init__(self, n):
    self.original_value = n
    if n <= 100:
      self = SmallNumers(self)
    else:
      self = BigNumbers(self)

class SmallNumbers:
  def __init__(self, n):
    self.size = 'small'

class BigNumbers:
  def __init__(self, n):
    self.size = 'big'

t = MyNumbers(200)


When I do type(t) it says MyNumbers, while I'd want it to be BigNumbers, because BigNumbers and SmallNumbers will have different methods etc...

Do I need to use metaclasses?

Thanks.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to