class Animail:
pass
class Cat(Animail):
'''this is a cat'''
def __init__(self, name):
self.name = name
def __dir__(self): #在Cat的dict中增加__dir__定义,并修改实例的dir修改成如下
return ['abcdef']
c = Cat('tom')
print(c.__class__)
print(Cat.__bases__)
print(Cat.__name__)
print(Cat.__doc__)
print(c.__dict__)
print(Cat.__module__)
print(__name__)
print(__file__)
print('########################')
print(sorted(Cat.__dict__))
print(sorted(Animail.__dict__))
print('########################')
print(sorted(dir(Cat)))
print(sorted(dir(Animail)))
print('########################')
c = Cat('tom')
print(1,c.__dict__)
print(2,dir(c))
运行结果:
<class '__main__.Cat'>
(<class '__main__.Animail'>,)
Cat
this is a cat
{'name': 'tom'}
__main__
__main__
/home/yzx/PycharmProjects/python/t76.py
#####################