Python的dir()是一个内置函数,它返回已定义的模块、类和对象等等的有效属性名称列表。dir()方法可以用于检查(大多数)Python对象中的内容。它不限于模块,也可以用于列表、字典以及字符串等对象。

语法:
dir([object])
如果没有提供参数,则 dir() 将返回当前范围中定义的名称。如果 object 是模块名称,函数将返回模块定义的名称列表。如果 object 是类型或类实例,则返回包含属性的列表和基类的名称。 如果 object 是空的(不提供任何参数),则结果与 locals() 的调用相同。
使用dir()函数的一种常见用途是获取对象的attributes。 例如,在下面的代码中,使用dir()函数返回县级列表的属性列表:
import os
print(dir(os))
output:
['CLD_CONTINUED', 'CLD_DUMPED', 'CLD_EXITED', 'CLD_TRAPPED', 'DirEntry', 'EX_CANTCREAT', 'EX_CONFIG', 'EX_DATAERR', '下文乱码省略']
在上述代码中,我们在脚本中导入了 os模块,该模块提供一些功能可以处理与操作系统交互的任务。然后,我们使用dir()函数在控制台上打印os模块的attributes。在输出中,您注意到' DirEntry '是在os中定义的class类型,并且我们可以在其对象中调用各种属性和方法,例如name, ino, path等属性。
除了模块,你还可以使用dir()函数来查看类和对象中的attributes。在下面的代码中,我们创建一个名为Cat的类,并使用dir()函数打印类定义的attributes:
class Cat:
name = 'Whiskers'
color = 'Orange'
weight = 12
print(dir(Cat))
运行该代码,输出如下:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'color', 'name', 'weight']
Cat类的attributes将被打印在控制台上。在输出中,你可以很容易地看到类中定义的属性包括:color,name和weight。
总结:本篇文章从语法、使用方法、模块使用和类使用角度详细介绍了如何使用Python内置函数dir()。它可以用于检查大多数Python对象中的内容,例如模块、列表和字符串等等。dir() 函数可以为开发人员提供有关对象属性的详细信息,有助于提高代码的可读性和维护性。