🔴 常量表里冒出了一个源码没写的数

👁️ 1 人浏览 💬 0 人评论 ❤️ 添加收藏

源码是 y = 200 + 300 * 4。看看编译产物的常量表:算出来的 1400 在不在?源码里写的 300 和 4 还在不在?

def consts(src):
    """编译一段源码,把它的常量表取出来(None 不算)"""
    code = compile(src, "<s>", "exec")
    return tuple(x for x in code.co_consts if x is not None)

c = consts('y = 200 + 300 * 4')
print(str(1400 in c) + "/" + str(300 in c) + "/" + str(4 in c))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论