Salted的笔记
Tab折叠当前
Shift+Tab全局折叠
/搜索
点击圆点折叠

CS61A

0 章 · 更新 2026-06-17

python解释器是你指下魔法咒语背后,默默付出的苦力。

代码 中存在无处不在的数字,字符串等一切常见的值

什么能产生值,或者这些值作为原材料又能做什么呢?

表达式!表达式是一个尚未被计算的式子,它的结果通常是某个类型的值。

(6789 // 10)% 10

这是一个表达式

同样,max(min(2,4),5) 也是一个调用表达式,它先将参数部分计算出来,就像切配好食材,再放到锅中等待烹饪(函数执行) 光有一个值是不够的,就像做饭时需要对原料进行切配加工,许多计算出来的值需要存放到某处备用,等到后面需要时再取出来,所以我们需要某种机制将算出的值存起来。

这个放东西的碗就是变量,每个变量都有其名字。有名字就有重名的问题,比如客人告诉厨师,请做一盘赛螃蟹,客人心里对赛螃蟹这个名字的解释是一盘冒着热气的佳肴,而在厨房中的厨师对赛螃蟹的理解则大相径庭,赛螃蟹是蛋清蛋黄姜等原料制成的菜品,就算某个厨师说给我把螃蟹拿来,想必其同事并不会把它理解为真正的螃蟹。 可见同一个名字在不同环境中是完全不一样的,名字的真正含义存在于环境中,而环境是由一系列frame构成的。什么是frame呢,就是一个个不同的小环境,比如说饭店的餐桌上,或者是后厨的灶台旁,当然也包含整个饭店这个最大的frame

当一个后厨的工作人员进入到厨房后,脑子里对“螃蟹”的理解就变成了鸡蛋,而出来以后则将其理解成菜品。 这个也是函数调用的过程,函数本身的定义,就像是赛螃蟹的制作流程,除了写清楚要做些什么,还要求外界环境提供给他所需要的数据,比如说这道菜要偏咸还是偏甜?并且一旦函数真的被调用,就会根据函数的声明创建一个临时的frame,就像厨师走进厨房,在这个环境中很多名字和含义会发生不同,即某些行话