Python 之禅
Python 的一大指导原则是“明了胜过晦涩”2。你可以通过在 Python 中运行 import this
来了解更多内容。
dir
函数内置的 dir()
函数能够返回由对象所定义的名称列表。 如果这一对象是一个模块,则该列表会包括函数内所定义的函数、类与变量。
该函数接受参数。 如果参数是模块名称,函数将返回这一指定模块的名称列表。 如果没有提供参数,函数将返回当前模块的名称列表。
案例:
$ python >>> import sys # 给出 sys 模块中的属性名称 >>> dir(sys) ['__displayhook__', '__doc__', 'argv', 'builtin_module_names', 'version', 'version_info'] # 此处只展示部分条目 # 给出当前模块的属性名称 >>> dir() ['__builtins__', '__doc__', '__name__', '__package__','sys'] # 创建一个新的变量 'a' >>> a = 5 >>> dir() ['__builtins__', '__doc__', '__name__', '__package__', 'a'] # 删除或移除一个名称 >>> del a >>> dir() ['__builtins__', '__doc__', '__name__', '__package__']
它是如何工作的
首先我们看到的是 dir
在被导入的 sys
模块上的用法。我们能够看见它所包含的一个巨大的属性列表。
随后,我们以不传递参数的形式使用 dir
函数。在默认情况下,它将返回当前模块的属性列表。要注意到被导入模块的列表也会是这一列表的一部分。
给了观察 dir
函数的操作,我们定义了一个新的变量 a
并为其赋予了一个值,然后在检查 dir
返回的结果,我们就能发现,同名列表中出现了一个新的值。我们通过 del
语句移除了一个变量或是属性,这一变化再次反映在 dir
函数所处的内容中。
关于 del
的一个小小提示——这一语句用于删除一个变量或名称,当这一语句运行后,在本例中即 del a
,你便不再能访问变量 a
——它将如同从未存在过一般。
要注意到 dir()
函数能对任何对象工作。例如运行 dir(str)
可以访问 str
(String,字符串)类的属性。
同时,还有一个 vars()
函数也可以返回给你这些值的属性,但只是可能,它并不能针对所有类都能正常工作。
相关课程推荐:Python视频教程
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com