python学习笔记-访问限制

我们在定义一个类的时候,我们可以自由得修改和获取属性。例如:

class Student(object):
    name = "charlie"
    age = 20

student  = Student()
student.name = "Lucy"

私有(private)变量

python中将变量变成私有变量,只需要在变量名前加上两个_。例如__name
但是类中一些默认的属性例如__doc__等以__开始,以__结束,并非是私有变量,需要注意区分。

getter 和 setter方法

有些情况下,我们将类中的某些属性设置为私有属性,并非是禁止类外部修改和获取。而是设置getter方法供类外部使用。另外也设置setter方法用来设置某个属性值的同时提供校验。
例如:

class Student(object):
    __name = ""
    __age = 20

    def get_age(self):
        return self.__age

    def set_age(self, age):
        # 提供年龄校验功能
        if 0 < age < 100:
            self.__age = age
        else:
            return False
student = Student()
student.set_age(30)
print student.get_age()
    原文作者:xcwong
    原文地址: https://segmentfault.com/a/1190000007818479
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞