第一节 类和对象深度问题

鸭子类型与多态

鸭子类型语言

  • 鸭子类型语言:python中参数与数据类型无关,与数据类型的特征有关。
  • 例:extand() :向列表中添加元素的方法。参数为可迭代对象,可以使列表、元组、集合等。

多态

  • 多态的前提:类继承,方法重写
  • 从类继承的角度来讲,有部分相同的行为或属性,但是体现出来的(值)却是不一样的,这就是多态。

抽象基类模块

抽象基类(abstract base class)

  • metaclass = abc.ABCMeta
  • @abc.abstractmethod

type()与isinstance()的区别

  • 类的类型是type.

hasattr():判断对象中是否有某一属性或方法

dir()

  • dir():以列表的形式返回对象的所有属性和方法
  • dict:以字典的形式返回对象的属性和属性值

python中多重继承问题

  • method resolution order 方法解析顺序
  • mro
  • 在python3之后:每个类都可以使用__mro__来得到类继承的顺序。

super()方法

  • 用于子类中调用父类的方法。

python自省机制

  • 自省:通过一定的机制查询到对象的内部结构;
  • 常用的自省机制(函数方法)
    • type()
    • hasattr()
    • isinstance()
    • dir()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值