一般情况下,python函数都会返回对象,但有时只调用一个函数,这是在修改这个信息
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、改别的对象的参数值(需要传入)