2025/12/28 6:53:08
网站建设
项目流程
网站怎样制作吸引人,贸易公司自建免费网站,wordpress在媒体库里无法上传图片,网站设计推广0. 问题描述
自学Python Crash Course, 3rd Edition A Hands-On, Project-Based Introduction to Programming (Eric Matthes) 《Python编程从入门到实践》这本书做外星人入侵项目的时候,学到13章还是没告诉我辅助方法和别的方法有什么不同嘛 只说了①把run_game()拆成俩辅助…0. 问题描述自学PythonCrashCourse, 3rd Edition A Hands-On, Project-Based Introduction to Programming (Eric Matthes) 《Python编程从入门到实践》这本书做外星人入侵项目的时候,学到13章还是没告诉我辅助方法和别的方法有什么不同嘛 只说了①把run_game()拆成俩辅助方法②一般只在类中调用③名称以_打头那么,到底区别在哪儿,非要用辅助方法吗?一句话先给结论:Python 里根本不存在语法层面的“辅助方法”。“辅助方法”只是人类给某些方法贴的标签,以表示:这个方法只为同一个类里的其他方法服务,不是对外API。从解释器眼里看:辅助方法 = 普通方法 = 函数对象没有任何运行机制差别。区别只存在于 组织方式、调用时机、名字查找路径、设计意图。下面我们一层一层拆。(如果你愿意一层一层一层地剥开我的心~)1. 定义层面:完全一样def run_game(self): --snip-- def _check_events(self): --snip--在 Python 看来:都是函数对象都被放进类命名空间都在类定义阶段被登记都在调用时才执行函数体下划线 _不产生任何语法或运行效果。它只是一个社会公约:“这个方法你别从类外用,我留给自己。”解释器对此完全无感。2. 为什么“辅助方法”常写在调用后面也没问题?关键不是“辅助”,而是它们在类体里。类体的规则只有一句:类体执行时,只登记名字,不执行方法体。class Game: def run(self): self._helper() def _helper(self): n