在对象定义期间暂停负值 (Python)

suspending negative values during object definition (Python)

由于我正在刷新我的python技能,所以我偶然发现了对象定义过程中暂停(例如负属性值)的问题。

class Motorcycle:
    def __init__(self,make,displacement):
        self.make=make            
        self.displacement=displacement

暂停位移属性的负值是有意义的(并在输入正值之前一直询问另一个值),但我在对象定义期间找不到这样做的方法。

如果您得到负值,您可以引发异常。您还应该在文档字符串中添加信息,表明您需要位移的正值:

class Motorcycle:
    def __init__(self, make, displacement):
        if displayment < 0:
            raise ValueError('Value for displacement must be non-negative')

        self.make=make            
        self.displacement=displacement