Danny Yoo wrote: > Here's a small example that shows how classes can be treated just like any > other value in Python: > > ######################################### > def makeYa(superclass): > class Ya(superclass): > def sayHi(self): > superclass.sayHi(self) > print "ya" > return Ya > > class ValleyPerson: > def sayHi(self): > print "like, so, oh my gosh, hi?" > > FrankensteinClass = makeYa(ValleyPerson) > instance = FrankensteinClass() > instance.sayHi() > #########################################
Yeah, that'll work too :-) Or even def makeAB(moduleContainingSuperClass): class A(moduleContainingSuperClass.A): pass class B(moduleContainingSuperClass.B) pass return A, B A, B = makeAB(siteA) > So there's no need to do trickery with conditional imports; Python treats > classes as first-class objects that can be passed around. Trickery? ;) It's just using modules as first-class objects that are bound to names same as anything else. Which solution is better depends on whether you want to choose at the module level or with finer control. Kent -- http://www.kentsjohnson.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor