dir()函数
内置的 dir() 函数能够返回由对象所定义的名称列表。 如果这一对象是一个模块,则该列表会包括函数内所定义的函数、类与变量。该函数接受参数。 如果参数是模块名称,函数将返回这一指定模块的名称列表。 如果没有提供参数,函数将返回当前模块的名称列表。案例:$ python>>> import sys# 给出 sys 模块中的属性名称>>> dir(s...
内置的 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()
函数也可以返回给你这些值的属性,但只是可能,它并不能针对所有类都能正常工作。
更多推荐
所有评论(0)