Python中的dir()方法

dir()函数返回任何对象(例如函数,模块,字符串,列表,字典等)的属性和方法的列表。在本文中,我们将了解如何在程序中以不同方式以及针对不同要求使用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()特定模块

对于特定的模块,我们可以通过将其作为参数传递给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()应用于用户创建的类,而不是内置对象,并通过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']