首页 新闻 会员 周边 捐助

为什么字节码“先 MAKE_FUNCTION,再 CALL_FUNCTION” 是 Python 中 “定义并执行” 的标准两步

0
[已关闭问题] 关闭于 2025-08-28 09:40

把“定义”和“执行”拆成两步就明白了:
定义阶段(MAKE_FUNCTION)
把一段字节码包装成 可调用的函数对象(带名字、作用域、默认参数等),
相当于 C/Java 里的“把函数体编译好并放入符号表”。
执行阶段(CALL_FUNCTION)
真正把函数对象拿来运行,执行函数体里的字节码,
相当于“实际调用函数”。
“定义”≠“运行”——MAKE_FUNCTION 只是 造出可调用实体,
CALL_FUNCTION 才是 真正跑函数体。

_java_python的主页 _java_python | 小虾三级 | 园豆:984
提问于:2025-08-28 09:40
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册