从零开始学Python-Day46-面向对象高级编程-使用枚举类

从零开始学Python-Day46-面向对象高级编程-使用枚举类
当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR = 3 ... NOV = 11 DEC = 12 好处是简单,缺点是类型是int,并且仍然是变量。更好的方法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python提供了Enum类来实现这……继续阅读 »

6个月前 (04-21) 61浏览 0评论 0个赞

从零开始学Python-Day45-面向对象高级编程-多重继承

从零开始学Python-Day45-面向对象高级编程-多重继承
继承是面向对象编程的一个重要特点,通过继承,子类其实是扩展了父类。 Animal这个父类下,假设我们要实现以下4种动物: Dog – 狗狗; Bat – 蝙蝠; Parrot – 鹦鹉; Ostrich – 鸵鸟。 如果按照哺乳动物和鸟类归类,可以设计出这样的类的层次: 如果按照“能跑”和“能飞”来归类……继续阅读 »

6个月前 (04-19) 78浏览 0评论 0个赞

从零开始学Python-Day44-面向对象高级编程-使用@property

从零开始学Python-Day44-面向对象高级编程-使用@property
绑定属性时直接把属性暴露的话,没办法检查参数,例如可以直接设置学生分数为99999分,这显然不合理。 为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数: >>> class Student(): def ge……继续阅读 »

6个月前 (04-17) 52浏览 0评论 0个赞

从零开始学Python-Day40-继承和多态

从零开始学Python-Day40-继承和多态
面向对象编程过程中,我们可以从已有class继承,定义一个新的类class,这个类被称作子类Subclass,被继承者的类被称为基类、父类或者超类(Base class、Super class)。 例如我们编写了一个名为Animal的类: >>> class Animal(object): def run(self): print……继续阅读 »

7个月前 (04-12) 57浏览 0评论 0个赞

从零开始学Python-Day39-访问限制

从零开始学Python-Day39-访问限制
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性。 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(……继续阅读 »

7个月前 (04-11) 65浏览 0评论 0个赞

从零开始学Python-Day38-类和实例

从零开始学Python-Day38-类和实例
面向对象编程中最重要的概念就是类(Class)和实例(Instance),其中“类”是抽象的模板,“实例”是根据类创建出来的一个个“对象”。 在Python中,定义类是通过class关键字: class Student(object): pass class后面跟着的就是类的名称,类名通常是大写开头的单词,(object)表示这个类是从哪个……继续阅读 »

7个月前 (04-10) 57浏览 0评论 0个赞