数据的封装

134 阅读1分钟

数据封装:

>>> class Student(object):
...     def __init__(self, name, score):
...             self.name = name
...             self.score = score
...     def print_score(self):
...             print('%s: %s' %(self.name, self.score))
...
>>> xiaoli = Student('xiaoli', 98)
>>> xiaoli.print_score()
xiaoli: 98

创建一个实例后,直接调用方法就可以输出属性值(名字,分数)

封装还可以添加新的方法:

>>> class Student(object):
...     def __init__(self, name, score):
...             self.name = name
...             self.score = score
...     def print_score(self):
...             print('%s: %s' % (self.name, self.score))
...     def get_grade(self):
...             if self.score >= 90:
...                     return 'A'
...             elif self.score >= 60:
...                     return 'B'
...             else:
...                     return 'C'
...
>>> xiaoli = Student('xiaoli', 98)
>>> luna = Student('luna', 58)
>>> xiaoli.print_score()
xiaoli: 98
>>> luna.print_score()
luna: 58
>>>

总结一下:数据封装的好处,一个是调用者不需要知道内部实现 另外一个,在类中可以增加新的方法