1、派生内置不可变类型并修改其实例化 需求:我们想定义一种新的类型的元组,对于传入的可迭代对象,我们只保留其中int类型值大于0的元素 实现:可以通过tuple来重写__new__()方法来实现; 定义IntTuple类型 IntTuple([2,-2,"yy",["a","b"],6]) >>> (2,6) # 取到 (2,6) class IntTuple(tuple): # 重写了父类的构造方法 def __new__(cls, iterable): # 父类中的__new__()方法,必须…

1月 29, 2021 0条评论 1144点热度 4人点赞 YY部落站(Admin) 阅读全文

Python 自省机制 自省是通过一定的机制查询到对象的内部结构 自省(introspection)机制有:dir(), type(), hasattr(), isinstance(), 通过这些函数,我们能够在运行程序时得知对象的类型,判断对象是否存在某个属性,访问对象的属性。 class Person(object): name = "小永" class Student(Person): # 继承Person()类 def __init__(self, class_name): self.class_name …

12月 18, 2020 5条评论 1478点热度 1人点赞 YY部落站(Admin) 阅读全文

isinstance 与 type 的区别 isinstance 考虑继承关系 type 不考虑 继承关系 isinstance 可以用来判断类型,返回的对象是否是类中的子类 a = 1 b = '小永' print(isinstance(a,(int, str))) # 返回布尔值 ()元组--> or 运算 >>> True print(type(a)) >>> <class 'int'> 类属性与实例属性 基本的查找顺序 对象是可以向上查找的,所以可以访问…

11月 7, 2020 0条评论 829点热度 1人点赞 YY部落站(Admin) 阅读全文

鸭子类型就是说在调用实例方法的时候,不会检查类型。抽象基类(abstract base class, ABC),类里定义了纯虚成员函数的类。纯虚函数中提供了接口,并没有具体实现。抽象基类不能被实例化,也就是不能创建对象,通常是作为基类供子类继承,子类中重写虚函数,实现具体接口。

10月 16, 2020 21条评论 2352点热度 3人点赞 YY部落站(Admin) 阅读全文