`
m4774411wang
  • 浏览: 112705 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

python dir 自省方法

 
阅读更多

内置的dir()函数是用来找出一个模块内置的方法。它返回一个字符串列表

>>> import fibo, sys
>>> dir(fibo)
['__name__', 'fib', 'fib2']
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__',
'__stdin__', '__stdout__', '_getframe', 'api_version', 'argv',
'builtin_module_names', 'byteorder', 'callstats', 'copyright',
'displayhook', 'exc_clear', 'exc_info', 'exc_type', 'excepthook',
'exec_prefix', 'executable', 'exit', 'getdefaultencoding', 'getdlopenflags',
'getrecursionlimit', 'getrefcount', 'hexversion', 'maxint', 'maxunicode',
'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache',
'platform', 'prefix', 'ps1', 'ps2', 'setcheckinterval', 'setdlopenflags',
'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout',
'version', 'version_info', 'warnoptions']

 如果dir()方法没有参数,则列出你目前已经定义的变量名称:

>>> a = [1, 2, 3, 4, 5]
>>> import fibo
>>> fib = fibo.fib
>>> dir()
['__builtins__', '__doc__', '__file__', '__name__', 'a', 'fib', 'fibo', 'sys']

如果你想查看内置函数和系统关键字,可以用标准模块__ builtin__: 请注意,它列出了所有类型的名称的变量,模块,系统关键字等。

>>> import __builtin__
>>> dir(__builtin__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'DeprecationWarning',
'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False',
'FloatingPointError', 'FutureWarning', 'IOError', 'ImportError',
'IndentationError', 'IndexError', 'KeyError', 'KeyboardInterrupt',
'LookupError', 'MemoryError', 'NameError', 'None', 'NotImplemented',
'NotImplementedError', 'OSError', 'OverflowError',
'PendingDeprecationWarning', 'ReferenceError', 'RuntimeError',
'RuntimeWarning', 'StandardError', 'StopIteration', 'SyntaxError',
'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'True',
'TypeError', 'UnboundLocalError', 'UnicodeDecodeError',
'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError',
'UserWarning', 'ValueError', 'Warning', 'WindowsError',
'ZeroDivisionError', '_', '__debug__', '__doc__', '__import__',
'__name__', 'abs', 'apply', 'basestring', 'bool', 'buffer',
'callable', 'chr', 'classmethod', 'cmp', 'coerce', 'compile',
'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod',
'enumerate', 'eval', 'execfile', 'exit', 'file', 'filter', 'float',
'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex',
'id', 'input', 'int', 'intern', 'isinstance', 'issubclass', 'iter',
'len', 'license', 'list', 'locals', 'long', 'map', 'max', 'min',
'object', 'oct', 'open', 'ord', 'pow', 'property', 'quit', 'range',
'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set',
'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super',
'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']

 

分享到:
评论

相关推荐

    什么是python的自省

    Python的自省(Introspection)是其强大的特性之一,允许程序员在运行时检查和理解代码的结构和行为。在日常生活中,自省意味着自我反省,而在编程领域,它指的是程序能够检查自身内部的状态,包括对象的类型、属性...

    Python自省(反射)指南1

    Python的自省(反射)能力是指程序在运行时能够获取并操作对象的内部信息,包括对象的属性、方法、类型等。这对于编写高度动态和灵活的代码尤其有用。本文主要介绍如何利用Python的内置模块`inspect`来实现自省。 `...

    2018最新BAT-python面试题(内附答案)

    - Python提供了多种自省相关的内置函数,如type()、dir()、getattr()、hasattr()和isinstance()。 6. 字典推导式: - 字典推导式是Python 2.7之后引入的特性,它允许我们快速构建字典。 - 字典推导式的基本语法...

    Python中的自省(反射)详解

    ### Python中的自省(反射)详解 #### 一、引言 在Python中,自省(也称为反射)是一种强大的特性,它允许程序在运行时检查和修改自身的结构与行为。这种能力对于创建灵活和可扩展的应用程序尤其有用。本文将深入...

    python面试题

    - `dir()`:列出对象的所有属性和方法。 - `getattr()`:获取对象的属性值。 - `hasattr()`:检查对象是否包含指定属性。 - `isinstance()`:检查对象是否为指定类型的实例。 **6. 字典推导式** 字典推导式是...

    Python进阶教程 Python各知识领域高级操作教程 进阶操作教程 共26个章节 共103页.pdf

    12. **对象自省**:包括`dir()`、`type()`和`id()`等函数,以及`inspect`模块,用于在运行时获取对象的信息。 13. **推导式(Comprehensions)**:列表推导、字典推导和集合推导提供了简洁的语法来生成新的序列或集合...

    Dive into Python 中文版

    Python提供了多种格式化字符串的方法,包括使用`%`运算符、`format()`函数以及f-string(在Python 3.6及以上版本中)。 **3.6 映射list** 可以使用列表推导式来创建新的列表,这种方式简洁且高效。 **3.7 连接...

    Python自省及反射原理实例详解

    在Python中,这些反射和自省的机制通常是通过对象的`__dict__`属性以及特殊方法(如`__getattribute__`、`__setattr__`、`__delattr__`等)来实现的。这些特殊方法在处理对象属性时起到了关键作用。 在给定的代码...

    Python进阶.pdf

    - `dir()`函数返回一个对象的所有属性和方法的列表。 - `type()`和`id()`分别用来获取对象的类型和内存地址。 - `inspect`模块提供了更多用于检查和获取对象信息的函数。 13. **推导式(Comprehension)**: - ...

    一百道经典python初级面试题

    比如使用type(), dir(), getattr(), hasattr(), isinstance()等函数来获取对象的类型、属性、方法等信息。 #### 字典推导式 字典推导式是Python语言的一个特性,它在Python 2.7版本中被加入,允许用户在字典中快速...

    python面试题100.docx

    本文档收录了五个 Python 面试题目,涵盖了 Python 语言特性、函数参数传递、元类、静态方法、类变量和实例变量、自省等多个方面的知识点。 1. Python 语言特性 - 函数参数传递 在 Python 中,所有的变量都可以...

    DIVE_INTO_PYTHON-中文.pdf

    - **使用type、str、dir等内置函数**:了解Python对象的信息 - **通过getattr获取对象引用**:动态访问对象属性 - **过滤列表**:使用列表推导式进行筛选 - **and和or的特殊性质**:逻辑运算符的短路特性 - **使用...

    Python Interview

    在Python中,可以使用多种方法实现单例模式,如使用`__new__`方法、装饰器等。 示例: ```python class Singleton: _instance = None def __new__(cls, *args, **kwargs): if not cls._instance: cls._...

    python进阶中文版

    dir()函数可以列出对象的所有属性和方法,type()函数返回对象的类型,而id()函数返回对象的唯一标识。inspect模块提供了一些功能,用于深入检查对象的内容。 15. 推导式(Comprehension) 推导式是Python中的一种简洁...

    Python进阶

    Python的dir()函数可以列出对象的所有属性和方法,type()函数可以用来检查对象的类型,而inspect模块则提供了更多获取对象信息的工具。 推导式(Comprehensions)是Python中一种表达式,包括列表推导式、字典推导式...

    PYTHON深入学习 XML HTML

    “自省的威力”指的是Python的内省能力,即程序可以检查自身的行为和结构。这包括检查对象的属性、方法,甚至在运行时动态修改类和对象。例如,使用`dir()`函数可以查看对象的所有属性和方法,`type()`可以检查对象...

    python面试题100道

    - **定义**: Python 的自省能力允许程序在运行时获取对象的信息,包括类型、属性、方法等。 - **常用函数**: - `type()`: 获取对象的类型。 - `dir()`: 获取对象的所有属性和方法。 - `getattr()`: 获取对象的...

    python面试题.pdf

    Python 中有三种方法:静态方法、类方法和实例方法。实例方法需要绑定实例,类方法需要绑定类,静态方法不需要绑定任何对象。静态方法和普通方法一样,不需要对谁进行绑定,唯一的区别是调用的时候需要使用实例或类...

Global site tag (gtag.js) - Google Analytics