Python __dir__用法:列出对象的所有属性(方法)名

Python __dir__用法:列出对象的所有属性(方法)名_第1张图片

对象的 __dir__ 方法用于列出该对象内部的所有属性(包括方法)名,该方法将会返回包含所有属性(方法)名的序列。

当程序对某个对象执行 dir(object) 函数时,实际上就是将该对象的 __dir__() 方法返回值进行排序,然后包装成列表。

例如,如下程序示范了 __dir__() 方法的功能:

class Item:
    def __init__ (self, name, price):
        self.name = name
        self.price = price
    def info ():
        pass
# 创建一个Item对象,将之赋给im变量
im = Item('鼠标', 29.8)
print(im.__dir__())  # 返回所有属性(包括方法)组成列表
print(dir(im))  # 返回所有属性(包括方法)排序之后的列表

运行上面程序,可以看到程序不仅会输出我们为对象定义的 name、 price、 info 三个属性和方法,而且还有大量系统内置的属性和方法,如前面章节介绍的 __repr__  和 __del__ 方法。

你可能感兴趣的:(python基础知识,python)