Python类的访问限制

使用两个_将变量设置为private,访问变量可定义get方法,对变量值修改可定义set方法,修改变量值的时候可检查参数的有效性。

class Student(object):
    #定义一个Student类,
    def __init__(self, name, score,age,gender):
        self.__name = name
        self.__score = score
        self.__age = age
        self.__gender = gender
        #使用两个_对变量进行私有化,其实例对象不可直接调用变量
    def get_name(self):
        return self.__name
    def get_grade(self):
        return self.__grade
    def get_age(self):
        return self.__age
    def get_gender(self):
        return self.__gender
        #定义类方法get获取name、grade、age
    def set_name(self,name):
        self.__name = name
    def set_score(self,score):
        self.__score = score
    def set_age(self,age):
        self.__age = age
    def set_gender(self,gender):
        if gender == 'man':
            self.__gender = gender
        elif gender == 'girl':
            self.__gender = gender
        else:
            print('gender,参数提供错误,请重新修改')           
        #定义类方法set,更改变量值
        
st1 = Student('lingyummu',67,25,'boy')
    #创建一个Student类对象st1
print(st1.get_name(),st1.get_gender())
    #使用get方法获取变量值
st1.set_name('zhangsan')
    #使用set方法修改变量值
print(st1.get_name())
st1.set_gender('boy')
print(st1.get_gender())

读书和健身总有一个在路上

你可能感兴趣的:(Python类的访问限制)