Python类的赋值


class Car:

    def __init__(self,make,model,year,mileage):
        """初始化汽车属性"""
        self.mileage = mileage
        self.make = make
        self.model = model
        self.year = year
        self.odometer_reading = 0

    def update_odometer(self,mileage):
        if int(mileage) >= int(self.odometer_reading) :
            self.odometer_reading = mileage
        else:
            print("输入错误")


mycar = Car('奥迪','A8','2',-9)
print(f"我的车辆信息,牌子是{mycar.make},车的模型是{mycar.model},车龄是{mycar.year},车辆行驶路程为{mycar.mileage}")

这串代码为什么不报错?我给mycar属性赋值mileage明明是负数小于0,但是程序不报错依旧可以运行

img

你在实例化的时候,构造函数中没有限制,你只在更新数据的方法中做了限制

设计的函数那块出来问题,没有限制

不会报错啊。car类怎么知道这个属性不能是负数呢?得你告诉它啊