• python 类的属性


    class Student():
        # 类属性
        school = '希望小学'
    
        def __init__(self, name, age, grade, score):
            # 类的实例属性
            self.age = age
            # 类的私有属性
            self.__name = name
            self.__grade = grade
            self.__score = score
    
        # 私有属性的一种设置和获取方式,使用set和get方法
        def set_grade(self, grade):
            if grade < 0 or grade > 9:
                print('年级设置不对')
            else:
                self.__grade = grade
    
        def get_grade(self):
            return self.__grade
    
        # 类的只读属性
        @property
        def score(self):
            return self.__score
    
        @score.setter
        def score(self, score):
            if score > 750 or score < 0:
                print('分数不正确')
            else:
                self.__score = score
    
        def __str__(self):
            return f'姓名: {self.__name}, 年龄: {self.age}, 年级: {self.__grade}, 成绩: {self.__score}'
    
        # 类的静态属性
        @staticmethod
        def sum_score(score_list):
            return sum(score_list)
    
    
    s1 = Student('bob',17,4, 567)
    print(s1)
    s1.age = 21
    print(s1)
    # 修改私有属性的一种不推荐方式
    s1._Student__name = 'michael'
    print(s1)
    
    s1.set_grade(12)
    s1.set_grade(7)
    print(s1)
    
    s1.score = 876
    s1.score = 645
    print(s1)
    print(s1.school)
    # 调用静态属性
    print(Student.sum_score([123, 233, 455]))
    print(s1.sum_score([344, 423, 333]))

    输出结果

    姓名: bob, 年龄: 17, 年级: 4, 成绩: 567
    姓名: bob, 年龄: 21, 年级: 4, 成绩: 567
    姓名: michael, 年龄: 21, 年级: 4, 成绩: 567
    年级设置不对
    姓名: michael, 年龄: 21, 年级: 7, 成绩: 567
    分数不正确
    姓名: michael, 年龄: 21, 年级: 7, 成绩: 645
    希望小学
    811
    1100

  • 相关阅读:
    hadoop配置LZO压缩并测试
    Flink CDC
    MyBatisPlus(十三)逻辑查询:and / or
    CentOS的安装与网络配置
    待学知识点
    React 多环境运行打包配置(版本区分)
    Linux虚拟服务器LVS了解使用
    springBoot集成websocket实时消息推送
    一种以RGB颜色登录的密码实现
    第一章 SQL Server 数据库部署
  • 原文地址:https://blog.csdn.net/weixin_42575811/article/details/132714996