# Python __dir__用法：列出对象的所有属性（方法）名
#
# 对象的 __dir__ 方法用于列出该对象内部的所有属性（包括方法）名，该方法将会返回包含所有属性（方法）名的序列。
#
# 当程序对某个对象执行 dir(object） 函数时，实际上就是将该对象的 __dir__() 方法返回值进行排序，然后包装成列表。
class Item:
    def __init__(self, name, price):
        self.name = name
        self.price = price

    @staticmethod
    def info() -> object:
        pass


# 创建一个Item对象，将之赋给im变量
im = Item('鼠标', 29.8)
print(im.__dir__())  # 返回所有属性（包括方法）组成列表
print(dir(im))  # 返回所有属性（包括方法）排序之后的列表
