In [1]:
class Cat:
    def __init__(self, name):
        self.name = name
        
    @classmethod
    def from_number(cls, num):
        return cls('Number ' + str(num))
    
class BigCat(Cat):
    def __init__(self, name):
        self.name = 'Big ' + name

c = Cat.from_number(3)
print c.name
bc = BigCat.from_number(16)
print bc.name
        
Number 3
Big Number 16