我不明白实例的属性可以变吗
函数__int__定义属性score,可为什么函数里面的代码块又变成了self.__score=score。不应该是self.score=score的吗
函数__int__定义属性score,可为什么函数里面的代码块又变成了self.__score=score。不应该是self.score=score的吗
2018-09-27
class Person(object):
def __init__(self, name, score):
self.name = name
self.__score = score
def get_score(self):
return self.__score
p1 = Person('Bob', 59)
print p1.name
print p1.get_score()这是我在学习类的封装的时候写的代码,你看一下,这里不是说不能按照你这样设计成self.score = score,而是因为将score变成了Person类的一个私有属性,__score这是私有属性的表达语法,比如这样写了之后就不能直接print p1.__score来得到分数了,只能通过在类的内部重新定义一个函数来返回分数的值,这也就是类的封装,就是这个道理。
举报