python __双划线 参数
''' >>> Class1.__doc__ # 类型帮助信息 'Class1 Doc.' >>> Class1.__name__ # 类型名称 'Class1' >>> Class1.__module__ # 类型所在模块 '__main__' >>> Class1.__bases__ # 类型所继承的基类 (<type 'object'>,) >>> Class1.__dict__ # 类型字典,存储所有类型成员信息。 <dictproxy object at 0x00D3AD70> >>> Class1().__class__ # 类型 <class '__main__.Class1'> >>> Class1().__module__ # 实例类型所在模块 '__main__' >>> Class1().__dict__ # 对象字典,存储所有实例成员信息。 {'i': 1234} ''' class Ren(object): '''ok,it's crazy''' name = 'a human being' @staticmethod def look(): return "ok" class Men(Ren): sex = "male" class Women(Ren): sex = "female" class Baby(Women): sex = "children" if __name__ == "__main__": r = Men() print(Ren.__dict__, "__dict__") print(Ren.__doc__, "__doc__") print(Men.__doc__, "__doc__") print(Ren.__bases__, "__bases__") print(Baby.__bases__[0].__bases__, "__bases__") print(Baby.__bases__[0].__dict__, "__dict__") print(Baby.__dict__, "__dict__") print(Men.__bases__[0](), "__bases__") print(Men.__name__, "__name__") print(r.__class__(), "__class__") print(r.__module__, "__class__") print(Men.__module__, "__class__") print(__file__)
{'__module__': '__main__', '__doc__': "ok,it's crazy", 'name': 'a human being', 'look': <staticmethod object at 0x000001FFD18E6518>, '__dict__': <attribute '__dict__' of 'Ren' objects>, '__weakref__': <attribute '__weakref__' of 'Ren' objects>} __dict__ ok,it's crazy __doc__ None __doc__ (<class 'object'>,) __bases__ (<class '__main__.Ren'>,) __bases__ {'__module__': '__main__', 'sex': 'female', '__doc__': None} __dict__ {'__module__': '__main__', 'sex': 'children', '__doc__': None} __dict__ <__main__.Ren object at 0x000001FFD1AD95C0> __bases__ Men __name__ <__main__.Men object at 0x000001FFD1AD96A0> __class__ __main__ __class__ __main__ __class__ D:/Projects/MxShop/tester.py