🔴 常量表里冒出了一个源码没写的数
源码是 y = 200 + 300 * 4。看看编译产物的常量表:算出来的 1400 在不在?源码里写的 300 和 4 还在不在? def consts(src): ""
阅读更多 →
编译期就分好的另一件事是什么
除了折常量,编译器在函数编译时还顺手把【0】分好了。
阅读更多 →
⚠️ 这个算式什么时候算
源码里写着 y = 2 + 3 * 4。这个算式【0】。
阅读更多 →
`.pyc` 文件里装的是什么
Python 跑过一遍之后,目录里多出来的 .pyc 装的是【0】。
阅读更多 →
把三站的产物一次交出来
对 print("hi") 一次性给出三站的产物:词数、树顶层类型、编译期记下的第一个名字。
阅读更多 →
⚠️ 再往里看一层
print("hi") 的顶层是一句表达式语句。把它里面那一层也取出来看看是什么。
阅读更多 →
自己看:三段代码的树顶各是什么
看看三段代码建出来的树,顶层节点分别是哪一类:print("hi")、x = 1 + 2、if x: y = 1。
阅读更多 →
自己数:两行代码各几个词
数一数 print("hi") 和 x = 1 + 2 各被切成几个词。
阅读更多 →
同一行代码的三种样子
拿 print("hi") 这一行,分别看它的词数、树的顶层节点类型、编译产物里记下的名字: import ast, io, tokenize LINE = 'print
阅读更多 →
⚠️ 三种产物,哪个离机器最近
词、树、字节码这三样,离机器最近的是【0】。
阅读更多 →