dir()函数返回任何对象(例如函数,模块,字符串,列表,字典等)的属性和方法的列表。在本文中,我们将了解如何在程序中以不同方式以及针对不同要求使用dir() 。
当我们在不将任何其他模块导入程序的情况下打印dir()的值时,我们将获得方法和属性的列表,这些列表可作为标准库的一部分使用,该库在初始化python程序时可用。
Print(dir())
输出结果
运行上面的代码给我们以下结果-
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
当我们导入其他模块并创建变量时,它们将被添加到当前环境中。然后,这些方法和属性在dir()的打印语句中也变得可用。
import math x = math.ceil(10.03) print(dir())
输出结果
运行上面的代码给我们以下结果-
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'math', 'x']
对于特定的模块,我们可以通过将其作为参数传递给dir()来找到该模块中包含的方法和属性。在下面的示例中,我们看到了math模块中可用的方法。
import math print(dir(math))
输出结果
运行上面的代码给我们以下结果-
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', …., 'nan', … 'trunc']
我们还可以将dir()应用于用户创建的类,而不是内置对象,并通过dir()列出其属性。
class moviecount: def __dir__(self): return ['Red Man','Hello Boy','Happy Monday'] movie_dtls = moviecount() print(dir(movie_dtls))
输出结果
运行上面的代码给我们以下结果-
['Happy Monday', 'Hello Boy', 'Red Man']