class Model:def __init__(self):self.training = Truedef eval(self):self.training = Falsereturn Nonem = Model()
print(m.training) # True
m.eval() # 返回 None
print(m.training) # False,模型內部狀態已改變
m.eval()是在修改m的信息
不返回值的函數也可以修改別人的參數,不一定像m.eval修改自己的參數
class Car:def __init__(self):self.fuel = 100 # 汽油量self.engine_on = Truedef turn_off_engine(self):# 修改自己的狀態self.engine_on = Falsereturn Noneclass Driver:def fill_fuel(self, car, amount):# 修改別人(car)的狀態car.fuel += amountreturn None# 使用示例
my_car = Car()
print(my_car.engine_on, my_car.fuel) # True, 100# 修改自己
my_car.turn_off_engine()
print(my_car.engine_on, my_car.fuel) # False, 100# 修改別人
driver = Driver()
driver.fill_fuel(my_car, 50)
print(my_car.engine_on, my_car.fuel) # False, 150
所以:不返回對象的只有兩種情況,1、改自己的參數值 2、改別的對象的參數值(需要傳入)