Hi, I want to define a special class which groups functions, like:
class Greepting(FuncGroup): def hello(): # no self, no @staticmethod! print("Hello!") def goodbye(): # no self, no @staticmethod! print("Good Bye!") Geeting.hello(): #=> "Hello!" Geeting.goodbye(): #=> "Good Bye!" I tried the following code which converts instance mthods into static method automatically, but I don't get result what I want. (python 2.5.5) import sys from types import FunctionType class MetaClass(type): def __init__(cls, name, bases, dct): ## converts instance methods to static methods automatically for k in dct.keys(): v = dct[k] if isinstance(v, FunctionType): dct[k] = staticmethod(v) print("*** debug: dct[%r] = %r" % (k, dct[k])) #=> <staticmethod object at 0x100378d38> class FuncGroup(object): __metaclass__ = MetaClass class Greeting(FuncGroup): def hello(): print("Hello!") def goodbye(): print("Good Bye!") print("*** type(Greeting.hello)=%r" % type(Greeting.hello) #=> <type 'instancemthod'> print("*** type(Greeting.goodbye)=%r" % type(Greeting.goodbye) #=> <type 'instancemthod'> Could you give me advice? -- regards, makoto kuwata -- http://mail.python.org/mailman/listinfo/python-list