python访问限制
- class内部可以有方法和属性,而外部代码可以通过直接调用实例变量的方法来操作数据。通过在属性名称前添加下划线__将变量变成私有变量,然后就无法从外部访问该属性了,增加对应的get和set方法来获取属性。
- 在python中,变量名类似
__xx__
的,双下划线开头和结尾的是可以直接访问的特殊变量,不能使用__name__
这样的变量名,因为python对外把__name
变量改成了_Student__name变量。
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_name(self):
return self.__name
def get_score(self):
return self.__score
bart = Student('Tom', 98)
bart.print_score()
print(bart.get_name())