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

yipeiwu_com6年前Python基础

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

官方解释是:

Docstring:
dir([object]) -> list of strings

If called without an argument, return the names in the current scope.
Else, return an alphabetized list of names comprising (some of) the attributes
of the given object, and of attributes reachable from it.
If the object supplies a method named __dir__, it will be used; otherwise
the 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']

以上这篇Python实现使用dir获取类的方法列表就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

如何利用Python开发一个简单的猜数字游戏

如何利用Python开发一个简单的猜数字游戏

前言 本文介绍如何使用Python制作一个简单的猜数字游戏。 游戏规则 玩家将猜测一个数字。如果猜测是正确的,玩家赢。如果不正确,程序会提示玩家所猜的数字与实际数字相比是“大(high)...

Python安装Flask环境及简单应用示例

本文实例讲述了Python安装Flask环境及简单应用。分享给大家供大家参考,具体如下: 安装环境 使用虚拟环境安装Flask,可以避免包的混乱和版本的冲突,虚拟环境是Python解释器...

Python argv用法详解

想用python处理一下文件,发现有argv这个用法,搜来学习一下。 如果想对python脚步传参数,那么就需要命令行参数的支持了,这样可以省的每次去改脚步了。 用法是:python x...

PyCharm 创建指定版本的 Django(超详图解教程)

PyCharm 创建指定版本的 Django(超详图解教程)

最近在学习胡阳老师(the5fire)的《Django企业级开发实战》,想要使用pycharm创建django项目时,在使用virtualenv创建虚拟环境后,在pycharm内,无论如...

Python转换HTML到Text纯文本的方法

本文实例讲述了Python转换HTML到Text纯文本的方法。分享给大家供大家参考。具体分析如下: 今天项目需要将HTML转换为纯文本,去网上搜了一下,发现Python果然是神通广大,无...