Python dir() 函数

版本 E:\Projects\testTool>python --version Python 3.6.2

先看看官网上是怎么描述dir()函数的: Without arguments, return the list of names in the current local scope. With an argument, attempt to return a list of valid attributes for that object. 翻译过来就是: 如果不向dir()提供参数,返回当前范围的名称列表,带参数时,返回参数的名称列表。 示例

直接调用dir()

dir() ['annotations', 'builtins', 'doc', 'loader', 'name', 'package', 'spec']

在当前模块引入一个包

dir() ['annotations', 'builtins', 'doc', 'loader', 'name', 'package', 'spec', 'sys']

执行后的结果包含了引入的包的名字 3.获得sys模块的属性

dir(sys) ['displayhook', 'doc', 'excepthook', 'interactivehook', 'loader', 'name', 'package', 'spec', 'stderr', 'stdin', 'stdout', '_clear_type_cache', '_current_frames', '_debugmallocstats', '_enablelegacywindowsfsencoding', '_getframe', '_git', '_home', '_xoptions', 'api_version', 'argv', 'base_exec_prefix', 'base_prefix', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'get_asyncgen_hooks', 'get_coroutine_wrapper', 'getallocatedblocks', 'getcheckinterval', 'getdefaultencoding', 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'getwindowsversion', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'set_asyncgen_hooks', 'set_coroutine_wrapper', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout', 'thread_info', 'version', 'version_info', 'warnoptions', 'winver']

4.在当前模块添加一个变量

a = 5 #创建了一个新变量

dir() ['annotations', 'builtins', 'doc', 'loader', 'name', 'package', 'spec', 'a', 'sys']

5.在当前模块添加一个函数

def function():pass #添加一个函数

dir() ['annotations', 'builtins', 'doc', 'loader', 'name', 'package', 'spec', 'a', 'function', 'sys']

6.在当前模块添加一个类

class Testcls(): #新建一个类 ... def init(self): ... self.a = 1 ... self.b = 2 ... def add_func(self): ... return self.a + self.b

dir() ['Testcls', 'annotations', 'builtins', 'doc', 'loader', 'name', 'package', 'spec', 'a', 'function', 'sys']

查看类Testcls的属性:

dir(Testcls) ['class', 'delattr', 'dict', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'gt', 'hash', 'init', 'init_subclass', 'le', 'lt', 'module', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'weakref', 'add_func']

总结 通过以上的示例,python提供的dir()函数,其实就是查看当前域的变量、方法和类,在我们不知道一个模块或库或类有哪些属性时,使用dir()很方便。

分类: Python 基础知识标签: 内置函数  命令 

作者:Python中文网 2019年8月1日 13:19

与本文相关文章

  1. (套装) 从Python新手到Django架站高手(已有 126 人围观了本文)
  2. ABAQUS Python二次开发攻略 CAE分析大系(已有 130 人围观了本文)
  3. Python金融大数据分析(已有 144 人围观了本文)
  4. Python程序设计开发宝典(已有 146 人围观了本文)
  5. Python自动化开发实战(已有 184 人围观了本文)
  6. Python Web开发 测试驱动方法(已有 216 人围观了本文)
  7. Python数据分析入门――从数据获取到可视化(已有 84 人围观了本文)
  8. Python贝叶斯分析(已有 82 人围观了本文)
  9. Python Linux系统管理与自动化运维(已有 124 人围观了本文)
  10. 金融工程及其Python应用/高等院校财政金融专业应用型教材(已有 118 人围观了本文)
  11. Python游戏编程入门(已有 137 人围观了本文)
  12. Python网络数据爬取及分析从入门到精通(分析篇)(已有 113 人围观了本文)