Python使用dir获取类的方法列表

来源:互联网 发布:文字抓取软件 编辑:程序博客网 时间:2024/06/06 15:42

使用Python的内置方法dir,可以范围一个模块中定义的名字的列表。官方解释是:

Docstring:dir([object]) -> list of stringsIf called without an argument, return the names in the current scope.Else, return an alphabetized list of names comprising (some of) the attributesof the given object, and of attributes reachable from it.If the object supplies a method named __dir__, it will be used; otherwisethe default dir() logic is used and returns:  for a module object: the module's attributes.  for a class object:  its attributes, and recursively the attributes    of its bases.  for any other object: its attributes, its class's attributes, and    recursively the attributes of its class's base classes.

通过dir方法,我们可以在一个类的内部,获取当前类的名字满足某些特征的所有方法。下面是一个例子:

class A(object):    def A_X_1(self):        pass    def A_X_2(self):        pass    def A_X_3(self):        pass    def get_A_X_methods(self):        return filter(lambda x: x.startswith('A_X') and callable(getattr(self,x)), dir(self))

执行:

print A().get_A_X_methods()

输出结果为:

> ['A_X_1', 'A_X_2', 'A_X_3']
原创粉丝点击