第 1 课 认识 Python 与第一个程序

1.1 Python 是一门什么样的语言

Python 由 Guido van Rossum 于 1991 年发布,名字来自他喜欢的喜剧团体「Monty Python」,和蟒蛇没有关系。

它有三个特别适合初学者的特点:

特点 说明
语法接近自然语言 if age >= 18: 几乎就是英文句子,不需要写分号、大括号
用缩进表示代码块 少了一层符号噪音,但缩进必须严格
生态极其庞大 数据分析、爬虫、自动化脚本、后端服务、AI,几乎都有成熟库

Python 能做的事,用一句话概括:凡是需要「让电脑重复做一件事」的场景,它基本都能插手。

  • 把 100 个 Excel 表格合并成一个
  • 每天定时抓取某个网站的价格
  • 训练一个识别图片的模型
  • 写一个网站的后端接口

1.2 安装 Python

Windows

  1. 打开 https://www.python.org/downloads/,下载最新的 Windows 安装包(3.12 或更新)。
  2. 双击安装,第一屏底部务必勾选 Add python.exe to PATH。这一步不勾,后面命令行会找不到 Python,是新手最常见的翻车点。
  3. 点 Install Now,等进度条走完。

macOS

macOS 通常自带 Python 3,先打开「终端」检查:

python3 --version

如果版本低于 3.10 或提示找不到命令,去 https://www.python.org/downloads/ 下载 macOS 安装包安装即可。

验证安装

打开命令行(Windows 搜索 cmd 或 PowerShell,macOS 打开「终端」),输入:

python --version

Windows 上如果没有反应,试试:

py --version

看到类似输出就成功了:

Python 3.12.4

⚠️ 常见坑:如果提示 'python' 不是内部或外部命令,说明安装时没勾 PATH。最省事的办法是重新运行安装包,选 Modify → 勾上 Add Python to environment variables。

1.3 三种运行方式

方式一:交互式环境(REPL)

在命令行输入 python(macOS 用 python3),会看到 >>> 提示符:

>>> 1 + 1
2
>>> "py" * 3
'pypypy'
>>> exit()

这叫 REPL(Read-Eval-Print Loop):读一行、算一行、打一行。适合验证一个想法,比如「这个函数到底返回什么」「这个表达式合不合法」。缺点是不保存,关掉就没了。

方式二:.py 文件

新建一个文本文件,命名为 hello.py,写入:

print("Hello, Python!")

保存后,在命令行里切换到文件所在目录,执行:

python hello.py

输出:

Hello, Python!

这是正式写程序的方式:代码存成文件,可以反复运行、修改、分享。

提示:在 Windows 资源管理器里新建文件,注意别存成 hello.py.txt。先在「查看」里勾选「文件扩展名」,确认后缀真的是 .py。

方式三:编辑器一键运行

推荐安装 VS Code,再装官方 Python 扩展。之后打开 .py 文件,点右上角的 ▶ 按钮就能运行,还能直接在编辑器里打断点调试。

初学阶段建议:先用方式一验证想法,再用方式二写成文件,最后搬到 VS Code 里写正式代码。

1.4 第一个程序:print()

print() 的作用是「把括号里的东西显示到屏幕上」。

print("你好,世界")
print(42)
print(3.14)
print(True)

输出:

你好,世界
42
3.14
True

注意:42 加了引号是字符串,不加引号是数字。两者在屏幕上看起来一样,但类型不同,第 2 课会细讲。

print("Python", "很有趣")

输出:

Python 很有趣

多个值之间默认用空格隔开。可以用 sep 改成别的分隔符:

print("2026", "11", "08", sep="-")   # 2026-11-08
print("a", "b", "c", sep="")         # abc

end 控制结尾字符,默认是换行 \n:

print("第一行", end="")
print("还在同一行")

输出:

第一行还在同一行

把 end 改成空格或逗号,就能在一行里连续输出,后面打印表格时很常用。

打印内容里带引号

如果内容本身含双引号,外层改用单引号:

print('他说:"今天天气不错"')
print("It's a book")

1.5 注释:写给人和未来的自己

注释不会被运行,纯粹是说明。

# 这是单行注释,从 # 到行尾都不执行
print("这行会执行")   # 行尾也可以加注释

"""
三个引号包起来的部分叫文档字符串(docstring),
常用来在文件开头说明这个文件是干什么的。
它本身是字符串,只是没被使用,所以不会输出。
"""

写注释的三条实用建议:

  1. 注释解释「为什么」,不是「是什么」。i += 1 # i 加 1 是废话;i += 1 # 跳过表头行 才有价值。
  2. 代码改了就同步改注释,过期注释比没有注释更糟。
  3. 不要每行都写,一段逻辑一个说明就够。

1.6 遇到报错怎么办

报错不是失败,是 Python 在告诉你哪里不对。看报错要从最后一行往上看:

print("开始")
print(1 / 0)

输出:

开始
Traceback (most recent call last):
  File "demo.py", line 2, in <module>
    print(1 / 0)
          ~~^~~
ZeroDivisionError: division by zero

最后一行 ZeroDivisionError: division by zero 是错误类型和原因,往上一行是出错的位置(第 2 行)。先看最后一行,再看行号,这是排错的固定顺序。

新手最常撞的四个错误:

报错 真实原因 怎么改
SyntaxError: invalid syntax 常见于用了中文引号 “”、中文括号 ()、漏了冒号 全部换成英文半角符号
IndentationError: unexpected indent 行首空格不一致,混用了 Tab 和空格 统一用 4 个空格
NameError: name 'pritn' is not defined 名字拼错,或变量还没定义就用了 检查拼写
TypeError: can only concatenate str (not "int") to str 字符串和数字直接相加了 用 str() 转换或改用 f-string

💡 一个立刻能用的技巧:报错信息直接复制去搜索,通常第一条结果就有答案。但先自己读一遍,读报错的能力是程序员最核心的肌肉。

1.7 小结

  • Python 用缩进划分代码块,语法接近英文
  • 三种运行方式:REPL 验证想法、.py 文件写程序、编辑器一键跑
  • print(值1, 值2, sep=..., end=...) 负责输出
  • # 单行注释,"""...""" 文档字符串
  • 排错顺序:最后一行错误类型 → 出错行号 → 上下文

1.8 课后练习

练习 1 用一条 print() 输出你的名字。

练习 2 不运行代码,先猜输出是什么,再验证:

print("A", "B", "C", sep="→")
print("x", end="|")
print("y")

练习 3 输出一张三行的「名片」,形如:

姓名:小明
城市:杭州
签名:正在学 Python

要求:只用一个 print(),用 sep="\n" 换行。

练习 4 下面这段代码有三处错误,找出来并修正(提示:符号、缩进、拼写各一处):

print("开始")
  print("中间")
pritn("结束")

参考答案

练习 1

print("小明")

练习 2

A→B→C
x|y

sep="→" 让三个值之间用箭头连接;end="|" 让第一行结尾不换行而是输出竖线,所以 y 紧跟在后面。

练习 3

print("姓名:小明", "城市:杭州", "签名:正在学 Python", sep="\n")

输出:

姓名:小明
城市:杭州
签名:正在学 Python

练习 4

print("开始")        # 1. 中文括号 () → 英文括号 ()
print("中间")        # 2. 行首多余缩进删掉
print("结束")        # 3. pritn → print

评论

评论区即 对应 issue 的讨论串,登录 GitHub 即可留言。