Python:如何为类variab指定范围

2024-09-27 00:22:32 发布

您现在位置:Python中文网/ 问答频道 /正文

需要此问题的帮助:

编写满足以下规范的类:

  • 学生有一个名字(任意字符串)和一个数字(1000-9999之间的整数)
  • 尝试创建数字超出规定范围的Student对象将引发InvalidNumberError
  • 学生对象只有一种行为:学生的字符串表示形式由学生的姓名、冒号和空格以及学生的编号组成

我如何规定学号的范围


Tags: 对象字符串规范数字整数名字student学生
1条回答
网友
1楼 · 发布于 2024-09-27 00:22:32

查找python属性:http://www.python-course.eu/python3_properties.php

它不仅会检查numberStudent实例化时是否有效,而且每次设置Student.number时都会检查:

class Student:

    valid_range = range(1000, 10000) # legal values will be 1000-9999

    def __init__(self, name, number):
        self.name = name
        self.number = number

    def __repr__(self):
        return '{}: {}'.format(self.name, self.number)

    @property
    def number(self):
        return self._number

    @number.setter
    def number(self, number):
        if number in Student.valid_range:
            self._number = number
        else:
            raise ValueError('Student number out of range: {}'.format(number))

相关问题 更多 >

    热门问题