>> dir(sys) ["__displayhook__", "__doc__", "__excepthook__", "__name__", "__std" />

6.3. 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_info", "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"]

注意该列表列出了所有类型的名称:变量,模块,函数,等等。

dir() 不会列出内置函数和变量名。如果你想列出这些内容,它们在标准模块 builtin 中定义:

>>> import builtins
>>> dir(builtins)

["ArithmeticError", "AssertionError", "AttributeError", "BaseException", "Buffer
Error", "BytesWarning", "DeprecationWarning", "EOFError", "Ellipsis", "Environme
ntError", "Exception", "False", "FloatingPointError", "FutureWarning", "Generato
rExit", "IOError", "ImportError", "ImportWarning", "IndentationError", "IndexErr
or", "KeyError", "KeyboardInterrupt", "LookupError", "MemoryError", "NameError",
 "None", "NotImplemented", "NotImplementedError", "OSError", "OverflowError", "P
endingDeprecationWarning", "ReferenceError", "RuntimeError", "RuntimeWarning", "
StopIteration", "SyntaxError", "SyntaxWarning", "SystemError", "SystemExit", "Ta
bError", "True", "TypeError", "UnboundLocalError", "UnicodeDecodeError", "Unicod
eEncodeError", "UnicodeError", "UnicodeTranslateError", "UnicodeWarning", "UserW
arning", "ValueError", "Warning", "ZeroDivisionError", "__build_class__", "__deb
ug__", "__doc__", "__import__", "__name__", "__package__", "abs", "all", "any",
"ascii", "bin", "bool", "bytearray", "bytes", "chr", "classmethod", "compile", "
complex", "copyright", "credits", "delattr", "dict", "dir", "divmod", "enumerate
", "eval", "exec", "exit", "filter", "float", "format", "frozenset", "getattr",
"globals", "hasattr", "hash", "help", "hex", "id", "input", "int", "isinstance",
 "issubclass", "iter", "len", "license", "list", "locals", "map", "max", "memory
view", "min", "next", "object", "oct", "open", "ord", "pow", "print", "property"
, "quit", "range", "repr", "reversed", "round", "set", "setattr", "slice", "sort
ed", "staticmethod", "str", "sum", "super", "tuple", "type", "vars", "zip"]




文章导航