Python3 入门教程 Python3 dir() 函数 -返回指定对象的所有属性和方法

2024-02-25 开发教程 Python3 入门教程 匿名 2

描述

Python ​dir()​ 函数不带参数时,返回当前作用域内的所有名称;

带参数时,返回参数的属性、方法列表。

如果对象实现了​​​__dir__()​​​方法,该方法将被调用。

如果对象没有实现​​__dir__()​​​,该方法将最大限度地收集参数信息。

注意:因为 ​dir() ​主要是为了便于在交互式shell中使用,所以它会试图返回人们感兴趣的名字集合,而不是试图保证结果的严格性或一致性,它具体的行为也可能在不同版本之间改变。

例如,当实参是一个类时,metaclass 的属性不包含在结果列表中。


语法

dir() ​语法:

dir(object)

参数说明:

  • object:对象、变量、模块。

返回值

不带参数时,返回当前作用域中的所有名称。

返回模块的属性和方法列表。


实例

以下实例展示了​dir()​在命令行中的使用方法:

>>>dir() # 获得当前模块的属性列表
['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
>>> dir([ ]) # 查看列表的方法
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>

dir()​方法也可以使用在代码行内:

print(dir())
print(dir([]))

运行结果如下:

['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']