上一页 1 ··· 5 6 7 8 9 10 11 12 下一页
摘要: 获取对象信息 拿到一个变量,除了用 isinstance() 判断它是否是某种类型的实例外,还有没有别的方法获取到更多的信息呢? 例如,已有定义: class Person(object): def __init__(self, name, gender): self.name = name sel 阅读全文
posted @ 2020-02-08 17:14 SHICENT 阅读(205) 评论(0) 推荐(0)
摘要: 多重继承 除了从一个父类继承外,Python允许从多个父类继承,称为多重继承。 多重继承的继承链就不是一棵树了,它像这样: class A(object): def __init__(self, a): print 'init A...' self.a = a class B(A): def __i 阅读全文
posted @ 2020-02-08 16:56 SHICENT 阅读(263) 评论(0) 推荐(0)
摘要: 多态 类具有继承关系,并且子类类型可以向上转型看做父类类型,如果我们从 Person 派生出 Student和Teacher ,并都写了一个 whoAmI() 方法: class Person(object): def __init__(self, name, gender): self.name 阅读全文
posted @ 2020-02-08 16:09 SHICENT 阅读(167) 评论(0) 推荐(0)
摘要: 判断类型 函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str、list、dict,也可以用在我们自定义的类,它们本质上都是数据类型。 假设有如下的 Person、Student 和 Teacher 的定义及继承关系如下: class Person(obj 阅读全文
posted @ 2020-02-08 15:59 SHICENT 阅读(697) 评论(0) 推荐(0)
摘要: 继承基础 继承的优点 新类不用从头编写,复用已有代码 新类从现有的类继承,就自动拥有了现有类的全部功能 新类只需要编写现有类缺少的功能 继承的特点 子类和父类是一个is关系 class person(object): pass class student(person): pass p = pers 阅读全文
posted @ 2020-02-08 15:51 SHICENT 阅读(237) 评论(0) 推荐(0)
摘要: 定义类方法 和属性类似,方法也分实例方法和类方法。 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身。 要在class中定义类方法,需要这么写: class Person(object): count = 0 @classmethod def how_many(cls): 阅读全文
posted @ 2020-02-07 23:16 SHICENT 阅读(183) 评论(0) 推荐(0)
摘要: 方法也是属性 我们在 class 中定义的实例方法其实也是属性,它实际上是一个函数对象: class Person(object): def __init__(self, name, score): self.name = name self.score = score def get_grade( 阅读全文
posted @ 2020-02-07 23:06 SHICENT 阅读(263) 评论(0) 推荐(0)
摘要: 定义实例方法 一个实例的私有属性就是以__开头的属性,无法被外部访问,那这些属性定义有什么用? 虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。除了可以定义实例的属性外,还可以定义实例的方法。 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参 阅读全文
posted @ 2020-02-07 22:55 SHICENT 阅读(447) 评论(0) 推荐(0)
摘要: 类属性和实例属性名字冲突怎么办 修改类属性会导致所有实例访问到的类属性全部都受影响,但是,如果在实例变量上修改类属性会发生什么问题呢? class Person(object): address = 'Earth' def __init__(self, name): self.name = name 阅读全文
posted @ 2020-02-07 22:47 SHICENT 阅读(375) 评论(0) 推荐(0)
摘要: 创建类属性 类是模板,而实例则是根据类创建的对象。 绑定在一个实例上的属性不会影响其他实例,但是,类本身也是一个对象,如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。 定义类属性可以直接在 阅读全文
posted @ 2020-02-07 22:35 SHICENT 阅读(936) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 下一页