当前位置: 首页 > news >正文

一般情况下,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、改别的对象的参数值(需要传入)

http://www.dtcms.com/a/337902.html

相关文章:

  • CAG缓存增强生成与RAG检索增强生成对比
  • CAG缓存检索生成 案例流程
  • 04高级语言逻辑结构到汇编语言之逻辑结构转换 do...while 结构
  • Android Studio受难记
  • echarts实现3个y轴的图表
  • 传输层协议——TCP
  • 刺猬的开发笔记之企业级兑换奖励c端链路开发
  • 【图论 次短路】P1491 集合位置|省选-
  • 【typenum】 17 非负数标记
  • Ansible 部署LNMP
  • shell脚本实现读取ini键值
  • 部署过程 99年证书
  • Servlet上传文件
  • 亚马逊新手突围:从流量破冰到持续出单
  • ACCESS窗体如何导出到文件,导入另一个工程?
  • java基础总结
  • mysql 主从架构详解
  • label studio标注时序数据
  • 《Unity Shader入门精要》学习笔记二
  • css中px转rem的计算公式
  • 设置独立显卡,解决游戏卡又慢
  • 【opencv-Python学习笔记(6):阈值处理】
  • 深入理解 depot_tools:Chromium 源码开发全流程(fetch/gclient/git cl 使用详解与踩坑经验)
  • Effective C++ 条款49:了解new-handler的行为
  • JAVA经典面试题:数据库调优
  • 算法题——字符串
  • input 标签的宽度根据内容自动调整
  • 电梯的构造|保养|维修视频全集_电梯安全与故障救援(课程下载)
  • JSX本质是什么
  • AI行业应用深度报告:金融、医疗、教育、制造业落地案例