1

我有一个类,我想只使用字符串来调用它的方法。我怎么做?

class MyClass:
    def do_something():
        print 'MyClass did something'

MyClass.get_method('do_something')()
4

2 回答 2

1
class MyClass:
    def do_something(self):
        print 'MyClass did something'

getattr(MyClass(),'do_something')()
于 2013-09-16T22:27:24.157 回答
1

你可以做:

class MyClass:

    @staticmethod
    def do_something():
        print 'MyClass did something'

并调用:

getattr(MyClass, 'do_something')()

请注意添加@staticmethod到方法中以确保可以在没有类实例的情况下调用它。

于 2013-09-16T22:28:09.003 回答