python笔记2

来源:互联网 发布:淘宝上的被子好吗 编辑:程序博客网 时间:2024/06/06 01:30
class Student(object):    pass

class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的。通常,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的类。

在Python中,变量名类似xxx的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用namescore这样的变量名。

Python是动态语言,我们可以动态给类增加方法,动态给实例增加方法。同时,Python允许在定义class的时候,定义一个特殊的slots变量,来限制该class实例能添加的属性。举例:

class Student(object):    __slots__=('name','age')

slots定义的属性仅对当前类实例起作用,对继承的子类是不起作用的.

Python内置的@property装饰器就是负责把一个方法变成属性调用的:

class Student(object):    @property    def score(self):        return self._score    @score.setter    def score(self, value):        if not isinstance(value, int):            raise ValueError('score must be an integer!')        if value < 0 or value > 100:            raise ValueError('score must between 0 ~ 100!')        self._score = value

@property 实现了getter方法。@property本身又创建了另一个装饰器@score.setter,负责把一个setter方法变成属性赋值。

什么是多重继承?

什么是定制类?

什么是原类?