假设一种鞋子(shoe)有尺码(size)和颜色(color)两种属性,以此为例。 类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把size,color属性绑到shoe上去,例如:
1classShoe(object):
2
3def__int__(self, size, color):
4self.size =size
5self.color = color
其中,(object)表示继承自哪个类,如果没有合适的继承类,就用object; self表示实例本身,所以使用__int__方法添加属性,可以把属性添加到self; 数据的封装 从类的内部定义访问数据的函数,这样就可以把数据封装起来。例如:
1classShoe(object):
2
3def__init__(self, size, color):
4self.size =size
5self.color =color
6
7defget_color(self):
8print('%s: %s'% (self.size, self.color))
要定义一个方法,除了第一个参数是self外,其他和普通函数一样。 要调用一个方法,只需要在实例变量上直接调用,除了self不用传递,其他参数正常传入:
>>>bart.get_color()
32: black
封装的另一个好处是可以给Student类增加新的方法,比如get_grade:
1classShoe(object):
2...3
4defget_level(self):
5ifself.size >= 40:
6return'A'
7elifself.size >= 32:
8return'B'
9else:
10return'C'
可以简单的调用get_level,例如:
>>>46.get_level()'A'