【Python】[面向对象高级编程] 多成继承,定制类,使用枚举

1、多成继承

class SmallDog(Animal,Dog)
    pass

MixIn就是一种常见的设计。

2、定制类
类似__slots__这种形如 __xxx__ 的变量或者函数名,在python中有特殊的用途的。
class中有特殊用途的函数,可以定制类。
3、使用枚举类
每个常量都是class的一个唯一实例,python提供了Enum类来实现此功能。

from enum import Enum
Month = Enum('Month',('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'))

可以直接使用 Month.Jan 来引用一个常量,或者枚举它的所有成员。

from enum import Enum, unique

@unique
class Weekday(Enum):
    sun = 0
    Mon = 1
    Tue = 2
    Web = 3
    Thu = 4
    Fri = 5
    Sat = 6

#unique 装饰器可以帮助我们检查没有重复。

>>>day1 = Weekday.Mon
>>>print(day1)
Weekday.Mon

>>>print(Weekday.Tue.value)
2

注:value返回值,

posted @ 2015-08-23 21:47  oiliu  阅读(256)  评论(0编辑  收藏  举报