学习笔记,仅供参考,有错必纠


内置函数dir



对于类对象或实例对象,可以调用内置函数​​dir()​​获得其所有可以访问的属性和方法(包括从父类中继承的属性和方法)的列表。

类对象实例对象的结果是有区别的,类对象的结果中不包括实例属性



  • 举个例子

代码:

class MyClass(object):
ca = "ca"

def __init__(self):
self.ia = "ia"

def im(self):
pass

@classmethod
def cm(cls):
pass

@staticmethod
def sm():
pass

print(dir(MyClass))
print(dir(MyClass()))

输出:

['__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__', 'ca', 'cm', 'im', 'sm']
['__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__', 'ca', 'cm', 'ia', 'im', 'sm']