• 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())

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

  • 相关阅读:
    BZOJ 4408: [Fjoi 2016]神秘数
    51Nod 1317 相似字符串对
    51Nod 1561 另一种括号序列
    BZOJ 4556: [Tjoi2016&Heoi2016]字符串
    51Nod 1048 整数分解为2的幂 V2
    BZOJ 4698: Sdoi2008 Sandy的卡片
    BZOJ 3571: [Hnoi2014]画框
    BZOJ 2752: [HAOI2012]高速公路(road)
    BZOJ 1095: [ZJOI2007]Hide 捉迷藏
    BZOJ 4537: [Hnoi2016]最小公倍数
  • 原文地址:https://www.cnblogs.com/Renqy/p/11611154.html
Copyright © 2020-2023  润新知