CS 61A 2026 Fall 学习随笔

这是我学习 CS 61A 的随笔。为什么是随笔而不是笔记呢?一方面(至少)Python 我还是有基础的(当然后面就不学 Python 了,我这点基础也就没多大用处了),前两周对我来说都是一些查缺补漏的东西,所以我不想写详细的笔记,而是一点学习路上可能碰到的坑点。另一方面就是我很懒

读这个中文教材的同学们一定要记得配合原文食用!有些关键术语中文翻译的不是很好,再加上 26 年的课程相比于前几年也发生了很大变化。比如说,之前都是用 Ok 来检查你的代码的,26 年变成了 pytest(当然这两者都是基于 doctest 的)。
开始吧,我想到啥就写啥。

怎么食用?

我食用的方法一般是先看这周的 reading,再做对应的 lab / hw / proj。尽管 Week 1 里的 Slides 写着“一定要看视频”,可是我觉得作用不太大。我几乎不看视频和 lecture 里提供的幻灯片。
当然了我只是目前这么做,之后肯定会有所变化(


Week 1

1.3

An environment in which an expression is evaluated is a sequence of frames, depicted as boxes. ...

中文教材把 frames 译作「帧」。好难理解啊!如果翻译成「框架」之类的会好理解很多吧。至少我没有看出来「帧」和盒子的关联之处。
不过,这好像是一项约定俗成的翻译。不作深究。

Week 2

1.4 & 1.5

写 Python 程序时,除了最简单的函数,都该写文档字符串(docstring)。
按惯例,文档字符串用三引号括起来。第一行用一句话说明函数干什么,后面的行可以交代参数、讲清函数的行为:

def pressure(v, t, n):
        """Compute the pressure in pascals of an ideal gas.

        Applies the ideal gas law: https://en.wikipedia.org/wiki/Ideal_gas_law

        v -- volume of gas, in cubic meters
        t -- absolute temperature in degrees kelvin
        n -- particles of gas
        """
        k = 1.38e-23  # Boltzmann's constant
        return n * k * t / v

同时,配合文档测试(doctest)可以方便地测试函数。方法为文档字符串里放一段调用该函数的交互式示例:

def sum_naturals(n):
    """Return the sum of the first n natural numbers.

    >>> sum_naturals(10)
    55
    >>> sum_naturals(100)
    5050
   """
    total, k = 0, 1
    while k <= n:
        total = total + k
        k = k + 1
     return total

测试:

>>> from doctest import run_docstring_examples
>>> run_docstring_examples(sum_naturals, globals(), True)
Finding tests in NoName
Trying:
    sum_naturals(10)
Expecting:
    55
ok
Trying:
    sum_naturals(100)
Expecting:
    5050
ok

1.6

有点难的一集。我先放着,因为我的 hw2 还没做完 😞

Proj 1 Hog

搞懂了闭包就会很轻松。但是我也懒的写。交给之后的我自己 😡


CS 61A 2026 Fall 学习随笔
https://zerablog.top/2026/11/12/cs61a-learning/
作者
Zera / 捷攎
发布于
2026年11月12日
许可协议