-2
需要這個問題有所幫助:滿足以下規格的Python:如何規定一個範圍,以一個類變量
寫類:
- 一個學生都有一個名字(任意字符串)和數字(範圍在1000-9999之間的整數)。
- 嘗試使用超出指定範圍的數字創建Student對象會引發InvalidNumberError。
- 學生對象只有一個行爲:學生的字符串表示形式由學生的姓名,後跟冒號和空格,後跟學生號碼組成。
我該如何規定學生人數的範圍?
需要這個問題有所幫助:滿足以下規格的Python:如何規定一個範圍,以一個類變量
寫類:
我該如何規定學生人數的範圍?
查找蟒蛇性質:http://www.python-course.eu/python3_properties.php
這不僅會檢查number
是在Student
的實例有效,但會檢查每一個你設置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))
查找Python類中, '__init__'方法,'raise'語句和'__str__'方法。 – Harvey
http://meta.softwareengineering.stackexchange.com/questions/6166/open-letter-to-students-with-homework-problems – EJoshuaS