你如何从零开始学习Python?
从零开始学习Python的实践路线图,涵盖环境搭建、核心概念、真实项目,以及初学者应该跳过的内容。
"从零开始"意味着没有先前的编程经验,没有未完成的教程,没有任何预设知识。就是你、一个空白的编辑器,和一种你想要真正使用的语言。这是我会给今天开始的人的路径,不是课程营销页面想卖给你的那个。
搭建你理解的环境
从python.org安装Python 3.12或更新版本,或者如果你在macOS/Linux上并且之后想要版本控制,可以使用pyenv。除非你已经知道自己要进入数据科学领域,否则跳过Anaconda——它增加了你现在不需要的额外的复杂性。
使用VS Code和Python扩展。打开终端,输入python3 --version,确认它能运行。然后创建一个文件夹,用cd进入它,运行python3 -m venv venv,再运行source venv/bin/activate(在Windows上是venv\Scripts\activate)。现在就要熟悉虚拟环境——每个真实项目都使用它们,这里的困惑会导致大多数早期的挫折。
按这个顺序学习语言
不要乱跳。按顺序逐一学习这些内容,在继续下一个之前,为每一项编写代码:
- 变量、字符串、数字、布尔值
- 列表、字典、元组、集合
- 条件语句(
if/elif/else)和循环(for、while) - 函数——参数、返回值、默认参数
- 文件I/O——读写文本和CSV文件
- 异常处理,使用
try/except - 类和对象,仅基础部分
- 模块和导入,包括标准库
抗拒早期学习装饰器、生成器或异步的冲动。它们之后很重要,但现在会拖累你的进度,会让你感觉落后,其实你并没有。
立即构建小东西
阅读关于循环的内容不会教你循环。写一个脚本来计算文本文件中的词频。构建一个保存到JSON文件的命令行待办事项列表。使用random和string模块制作一个简单的密码生成器。每一个花一个晚上,不是一周,每一个都迫使你使用真实的语法而不是复制例子。
一个具体的第一个项目:一个脚本,读取支出的CSV,按类别打印总计。
import csv
from collections import defaultdict
totals = defaultdict(float)
with open("expenses.csv") as f:
reader = csv.DictReader(f)
for row in reader:
totals[row["category"]] += float(row["amount"])
for category, total in totals.items():
print(f"{category}: ${total:.2f}")
这一个脚本涉及文件处理、字典、循环和格式化输出——十行代码中的大部分基础。
读懂错误信息而不是害怕它们
KeyError告诉你字典键不存在。TypeError: unsupported operand告诉你某处混合了字符串和整数。Python的追踪回溯指向确切的行。新学习者经常慌张并搜索Stack Overflow,而不是阅读错误的最后一行,那通常正好说明出了什么问题。训练自己从下往上读。
在安装包之前使用标准库
初学者经常在学习已有的内置功能之前就开始使用第三方包。os、pathlib、datetime、json、re和collections覆盖了日常脚本编写需求的大部分。先精通这些。当你真的需要外部包时,在虚拟环境内使用pip install,并用pip freeze > requirements.txt冻结依赖,这样你的项目保持可重现。
一旦基础感觉牢固,选择一个方向
经过三到四周的稳定练习,你会注意到什么吸引了你的兴趣——自动化、使用Flask或Django的网络应用、使用pandas的数据工作,或安全任务的脚本编写。每个方向都重用相同的基础,但指向不同的库。不要尝试同时学习所有这些;选择一个并深入钻研一个月。
早期要跳过的内容
跳过类型提示,跳过虚拟机,跳过试图记忆每个字符串方法。跳过观看数小时的视频而不自己输入代码——输入代码才是学习发生的地方,不是观看。一个20分钟的教程,你跟着做,暂停来输入每一行,教得比你被动观看的3小时讲座更多。
如果你想要本指南之外的结构化练习,Korra Studio的Python和Scripting部分通过相同的基础知识和你可以直接在浏览器中运行的实践练习来指导你。
本文由人工智能协助撰写,经 Michal Pilch(CISSP)审核并发布,Korra Studio。
这是来自 Korra Studio 知识库的笔记之一——该平台将每个主题与一对一指导相结合。
免费开始arrow_forward