马士兵Python学习笔记_P117_116.特殊属性

马士兵Python学习笔记_P117_116.特殊属性

一、特殊方法和特殊属性

在这里插入图片描述

二、代码示例

print("------------------------------- object类 ------------------------------------")
print(dir(object))      # object类的属性和方法
print(object.__class__)
print("------------------------------- __doc__ ------------------------------------")
print(object.__doc__)
print("------------------------------- __format__ ------------------------------------")
print(object.__format__)

print("-------------------------------------------------------------------")
class A:
    pass
class B:
    pass
class C(A, B):
    def __init__(self, name, age):
        self.name = name
        self.age = age
class D(A):
    pass

# 创建C类的对象
x = C("Jack", 20)   # x 是 C类的一个实例对象

print("------------------------------- __dict__ ------------------------------------")
print(x.__dict__)   # 实例对象的属性字典
print(C.__dict__)   # 类的属性字典
print("------------------------------- __class__ ------------------------------------")
print(x.__class__)  # 输出了对象所属的类。 <class '__main__.C'>
print("------------------------------- __bases__、__base__ ------------------------------------")
print(C.__bases__)  # 输出了C类的所有父类(基类)
print(C.__base__)  # 输出了C类的第一个父类(写在前面的父类)
print("------------------------------- __mro__ ------------------------------------")
print(C.__mro__)  # 输出了C类的层次结构
print("------------------------------- __subclasses__() ------------------------------------")
print(A.__subclasses__())  # 输出了A类的所有子类

运行结果:

D:\Environment\Python\Python311\python.exe D:\Environment\PythonWorks\learnpython\马士兵Python\第13章_接着找对象\P117_116.特殊属性.py 
------------------------------- object------------------------------------
['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
<class 'type'>
------------------------------- __doc__ ------------------------------------
The base class of the class hierarchy.

When called, it accepts no arguments and returns a new featureless
instance that has no instance attributes and cannot be given any.

------------------------------- __format__ ------------------------------------
<method '__format__' of 'object' objects>
-------------------------------------------------------------------
------------------------------- __dict__ ------------------------------------
{'name': 'Jack', 'age': 20}
{'__module__': '__main__', '__init__': <function C.__init__ at 0x000001D79307C9A0>, '__doc__': None}
------------------------------- __class__ ------------------------------------
<class '__main__.C'>
------------------------------- __bases__、__base__ ------------------------------------
(<class '__main__.A'>, <class '__main__.B'>)
<class '__main__.A'>
------------------------------- __mro__ ------------------------------------
(<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
------------------------------- __subclasses__() ------------------------------------
[<class '__main__.C'>, <class '__main__.D'>]

Process finished with exit code 0

B站视频链接:https://www.bilibili.com/video/BV1wD4y1o7AS?p=117

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值