实验0:入门指南(Windows 设置)

环境设置

终端

终端是一个允许你通过输入命令与计算机交互的程序。

你已经有一个名为 Windows PowerShell 的程序。打开它,你就可以开始使用了。

Python

Python 3 是本课程使用的主要编程语言。本课程需要 Python 3.8+(我们推荐 Python 3.11)。如果你安装了旧版本的 Python,请确保下载并安装 Python 3.11。你可以使用命令 python3 --version 检查你的 Python 版本。

如果你将使用 PowerShell,请打开 Microsoft Store 并搜索 "Python"。安装 Python Software Foundation 的 Python 3.11。

验证:我们可以使用终端检查你的 Python 解释器是否安装正确。在 PowerShell 中尝试以下命令:

python3 --version

如果安装成功,你应该看到一些显示 "Python 3.XX.XX" 的文本。确保版本显示为 Python 3.8 或更高版本。

如果 python3 --version 命令不起作用,首先尝试关闭并重新打开你的终端。如果这不起作用,请尝试使用 python --versionpy --version

文本编辑器

你刚刚安装的 Python 解释器 允许你 运行 Python 代码。你还需要一个 文本编辑器,用来 编写 Python 代码。

Visual Studio Code (VS Code) 将在本课程后面的作业中是必需的。它也是本课程教员中最流行的 Python 编写选择。

我们强烈推荐在本课程中使用 VS Code。 这将帮助我们更好地支持你,因为大多数教员都使用 VS Code。请不要使用如 Microsoft Word 等文字处理器来编辑程序。文字处理器可能会向文档添加额外内容,从而混淆解释器。

重要:不要在本课程中使用 VS Code 中的 "Github Copilot" 扩展。它会通过为你填写答案来阻止你学习需要学习的内容。如果你出于某种原因安装了它,请禁用它。

  • 在 VS Code 中打开扩展面板(Ctrl+Shift+X 或 ⌘+Shift+X)。
  • 搜索 GitHub Copilot
  • 点击旁边的 ⚙️(齿轮)图标。
  • 选择禁用(保持安装但不激活)或卸载(完全移除)。

提示: 你可以在 VS Code 中直接打开终端。因此,当运行终端命令时,你可以在 VS Code 中管理所有内容,而不需要在 VS Code 和单独的终端应用程序之间来回切换。你可以通过在 VS Code 的导航栏中转到 Terminal > New Terminal 来打开嵌入式终端。

打开 VS Code 嵌入式终端

其他文本编辑器

供你参考,我们编写了一些关于其他流行文本编辑器的指南:

  • Vim:命令行编辑器。
  • Emacs:命令行编辑器。

一些学生也使用:

  • PyCharm:专为 Python 设计的桌面编辑器。

结对编程

在本课程中,你将有大量机会在实验和项目中进行协作编程。我们建议你现在下载这些结对编程扩展,以便将来使用。

要共享代码,你可以按照编辑器的说明操作:

演练 & 复习

复习:你的计算机文件系统

你的计算机存储文件。每个文件都包含在一个 目录(也称为 文件夹)中。目录也可能包含在其他目录中。你计算机上的所有文件和目录形成一个分层的、树状的结构。下面是一个可能的示例。

Windows 文件系统示例

例如,在这台计算机上,我们可以看到 C:\ 目录包含另一个名为 readings 的目录,其中包含两个文件:chapter1.pdfchapter2.pdf

就像现实生活中我们有地址可以定位建筑物一样,计算机使用 路径来定位文件。例如,C:\readings\chapter1.pdf 是一个路径,它引用你计算机上的特定文件:文件 chapter1.pdf,它包含在文件夹 readings 中,而该文件夹包含在文件夹 C:\ 中。

C:\readings\chapter1.pdf 是我们所称的 绝对路径 的一个示例,因为它唯一地标识计算机内的特定文件或文件夹。另一种路径是 相对路径,它标识计算机上的位置,该位置是 相对于 某个 工作目录 的。例如,如果工作目录是 C:\notes\,那么相对路径 unit1\lec1.docx 指的是包含在文件夹 notes 中的文件夹 unit1 中的 lec1.docx 文件,而该文件夹包含在 C:\ 中。你可以将相对路径视为从工作目录开始到达计算机中其他位置的一系列步骤。

在 Windows 中,你可以通过绝对路径以字母和冒号开头(C:\syllabus.pdf)来区分绝对路径和相对路径,而相对路径从不这样。 (也可能有以反斜杠 \ 开头的路径,但它们超出了本课程的范围。你不应该在本课程中使用以反斜杠开头的路径。)

相对路径的含义取决于工作目录是什么。例如,如果工作目录是 C:\notes\unit1\,则路径 lec1.docx 引用与的工作目录是 C:\notes\unit2\ 时不同的文件。另一方面,如果工作目录是 C:\readings\,则路径 lec1.docx 是没有意义的,因为在 C:\readings\ 文件夹中没有名为 lec1.docx 的文件。

演练:使用终端

终端是一个允许你通过输入命令与计算机交互的程序。

打开你的终端。你会看到一些文本说明你的终端名称,然后是终端提示符,一个告诉终端已准备好接受输入的字符。如果你使用的是 Windows,提示符通常是 >

启动终端

工作目录和主目录

你的终端始终在某个文件夹中打开,也称为终端的工作目录。工作目录的路径在 PowerShell 中可见,位于 PS 旁边。在上面 PowerShell 的屏幕截图中,工作目录是 C:\Users\adity

当你首次打开终端时,你将进入"主目录"。这是终端的默认工作目录。

命令

有许多不同的命令可以使用。你在本课程中将使用最多的命令是 python3,它告诉计算机运行 Python 解释器。试试看:

python3

你应该看到一些关于解释器的文本打印出来,然后是单独一行上的 >>>。这是你可以输入 Python 代码的地方。尝试输入一些你在讲座中看到的表达式,或者只是玩玩看会发生什么!你可以输入 exit()Control-Z 并按回车键返回命令行。

如果 python3 不起作用,请尝试使用 pythonpy

你也可以通过输入 python3 <path> 来运行存储在文件中的 Python 代码,其中 是你要运行的文件的路径。当你完成实验时,你将有机会使用这个版本的 python3 命令。

终端 vs Python 解释器

让我们暂停一下,思考终端和 Python 解释器之间的区别。

解释器 vs 终端

  1. 哪个是终端?
  2. 哪个是 Python 解释器?
  3. 哪个是我的代码编辑器?
  4. 你如何区分?

A 和 D 都是我的终端。这是你可以运行 python3 等命令的地方。D 是内置到 VS Code 中的终端。

B 是 Python 解释器。你可以从 >>> 提示符看出,这意味着你已经启动了 Python 解释器。你也可以从可见的启动命令看出:python3python3 命令启动 Python 解释器。如果你在 Python 解释器中输入普通命令,你可能会得到语法错误!这是一个示例:

解释器语法错误

C 是我的代码编辑器。这是我可以通过终端执行 Python 代码的地方。

演练:组织文件

在本节中,你将学习如何使用终端命令管理文件。首先从打开终端开始。

确保你的提示符不以 >>> 开头。如果它以 >>> 开头,你仍然在 Python 解释器中,需要退出。参见上面了解如何退出。

目录

你将使用的第一个命令是 ls。尝试在你的终端中输入它:

ls

ls 命令(代表 list)列出当前工作目录中的所有文件和文件夹。回想一下,"目录"是文件夹的另一个名称(如 Documents 文件夹)。

由于你的工作目录现在是主目录,在输入 ls 后,你应该看到主目录的内容。在 Powershell 中,你可以通过是否有长度列出区分目录和文件,文件有长度列出,而目录没有。

CLI vs GUI

记住,你可以通过两种不同的方式访问计算机上的文件和目录(文件夹)。你可以使用终端(这是一个 command line interface,或 CLI),或者你可以使用文件资源管理器。文件资源管理器是一个 graphical user interface (GUI) 的示例。导航的技术不同,但文件是相同的。例如,这是我的课程文件夹在 GUI 中的样子:

GUI 文件夹示例

这是完全相同的文件夹在 Powershell 中的样子:

CLI 文件夹示例

文件夹的内容可以在 GUI 中列出,也可以在 PowerShell 中黄色 ls 命令下方找到

更改目录

要移动到另一个目录,请使用 cd 命令(代表 change directory)。cd 接受一个路径作为输入,并将终端的工作目录更改为该路径标识的目录。

让我们尝试移动到你的 Desktop 目录。首先,通过输入以下内容确保你在主目录中:

cd ~

~ 是引用主目录的一种特殊简写方式。它是主目录的路径。

然后,使用 ls 命令查看是否存在 Desktop 目录。

如果你看到 Desktop 目录,你可以使用以下命令移动到其中:

cd Desktop

但是,如果未列出 Desktop 目录,它可能位于系统上的其他位置。这可能是由于系统配置或自定义设置造成的。在文件资源管理器中找到你的桌面并打开它。右键点击窗口顶部的"地址栏",然后点击"复制地址"。

复制地址示例

你的桌面的绝对路径(例如 C:\Users\adity\OneDrive\Desktop\)现在已复制到剪贴板。在终端中输入 cd <桌面的绝对路径> 以将目录更改为桌面。

创建新目录

一旦你进入 Desktop 目录,你将使用的下一个命令是 mkdir,它代表 make a new directory。mkdir 接受一个名称作为输入并创建具有该名称的新目录。新目录存储在当前工作目录中。

让我们在你的 Desktop 目录中创建一个名为 cs61a 的目录来存储本课程的所有作业:

mkdir cs61a

名为 cs61a 的文件夹将出现在你的桌面上。你可以通过再次使用 ls 命令或使用文件资源管理器检查桌面来验证这一点。

现在,让我们创建更多目录。首先,确保你在 cs61a 目录中,它应该有一个类似 C:\Users\<USER>\Desktop\cs61a 的绝对路径,其中 <USER> 是你的实际用户名。然后,创建三个新文件夹,名为 projectslabhw。它们都应该位于你的 cs61a 文件夹内:

cd cs61a
mkdir projects
mkdir lab
mkdir hw

现在,如果你列出目录的内容(使用 ls),你将看到三个文件夹,projectslabhw

更多目录更改

  • cd ..(两个点)。.. 表示"父目录",或当前目录上方的一个目录。

如果你更喜欢其他方式,你不必将文件保存在桌面上。你的文件在本地保存的位置不会影响你的成绩。做任何对你来说最简单和最方便的事情!

下载作业

如果你还没有,请下载 zip 压缩包 lab00.zip,其中包含你完成本实验所需的所有文件。在大多数计算机上,lab00.zip 可能位于主目录中名为 Downloads 的目录中。

你必须先展开 zip 压缩包,然后才能处理实验文件。在文件资源管理器中,你需要先点击 .zip 文件,然后选择"全部提取"。如果你遇到麻烦,可以在网上搜索如何解压缩文件。不同的操作系统和不同的浏览器有不同的解压缩方式。

你只需要解压缩文件一次。

解压缩 lab00.zip 后,你将有一个名为 lab00 的新文件夹,其中包含以下文件(通过使用 cd 导航到文件夹并使用 ls 列出其内容来检查):

  • lab00.py:你将添加代码的模板文件
  • ok:用于测试和提交作业的程序
  • lab00.okok 的配置文件

移动文件

通过使用文件资源管理器 GUI 将解压缩的 lab00 目录拖放到正确的文件夹中,将其移动到你之前创建的 lab 文件夹中。(如果你知道如何操作,也可以使用终端命令执行此操作。)

现在,转到你刚刚移动的 lab00 文件夹。尝试使用 cd 自己导航!如果你卡住了,可以使用以下命令:

cd ~/Desktop/cs61a/lab/lab00

总结

以下是供你参考的我们刚刚介绍的命令摘要:

  • lslists(列出)当前目录中的所有文件
  • cd <path to directory>change(更改)到指定的 directory(目录)
  • mkdir <directory name>makes(创建)具有给定名称的新 directory(目录)

本课程的考试不会测试你文件系统如何工作或绝对路径的定义是什么。但是,这些技能对于完成本课程中的所有作业至关重要。你可以在将来参考此页面。

最后,你准备好开始编辑实验文件了!如果这看起来很复杂,请不要担心——随着时间的推移,它会变得容易得多。只需继续练习!

继续实验0