廖雪峰python教程学习:访问限制小结

访问限制小结

廖雪峰老师的python教程
在之前定义class的过程中,通过外部可以修改实例变量,但如果我们不想使实例变量被修改该怎么办?
答案是,在属性的名称前加两个下划线 __。变成一个私有变量。
如果此时还想从外部获得和改变变量,可以再class内部定义函数,来完成此作用。

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
	
	def set_name(self, name):
        self.__name = name
		
	def set_score(self, score):
        self.__score = score

PS:不可以从外部访问__name的原因,是python解释器对外把其变为了__Student__name变量,但不要这样做就好了

你可能感兴趣的:(廖雪峰python教程学习,python,类,class)