Python 教程(中文版)
Python 是一种高级、解释型、通用的编程语言,它的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或关键字),这使得 Python 成为初学者学习编程的首选语言,同时也被广泛应用于 Web 开发、数据科学、人工智能、自动化脚本等领域。

第一部分:Python 基础入门
第一章:环境搭建与第一个程序
1 安装 Python
在开始之前,您需要在您的计算机上安装 Python。
- 访问官网:打开浏览器,访问 Python 官方网站 python.org。
- 下载安装包:在首页点击 "Downloads" 按钮,网站会自动检测您的操作系统并提供对应的最新稳定版安装包,下载
.msi(Windows) 或.pkg(macOS) 文件。 - 运行安装:
- Windows: 双击下载的
.msi文件,按照安装向导进行。重要:在第一个界面,请务必勾选 "Add Python to PATH" 选项,这样您就可以在命令行中直接使用python命令。 - macOS: 双击
.pkg文件,按照提示完成安装。
- Windows: 双击下载的
- 验证安装:打开终端(Windows 上是
cmd或PowerShell,macOS 上是Terminal),输入以下命令并回车:python --version
如果显示出版本号(如
Python 3.11.4),则说明安装成功。
2 第一个 Python 程序:Hello, World!
这是编程世界的传统,让我们用它来庆祝您的第一步。
- 创建文件:在您的电脑上创建一个新文件,命名为
hello.py。 - 编写代码:用任何文本编辑器(如 VS Code, Sublime Text, 甚至记事本)打开
hello.py,输入以下代码:print("Hello, World!") - 运行程序:
- 打开终端。
- 使用
cd命令切换到hello.py文件所在的目录。 - 输入以下命令并回车:
python hello.py
- 查看结果:您将在终端看到输出:
Hello, World!恭喜!您已经成功运行了您的第一个 Python 程序。
(图片来源网络,侵删)
第二章:基本语法
1 注释
注释是写给程序员看的,解释代码的作用,Python 解释器会忽略它们。
- 单行注释:以 开头。
# 这是一个单行注释 print("这行代码会被执行") - 多行注释:使用三个单引号 或三个双引号 包裹。
''' 这是一个多行注释 可以写很多行 ''' print("这行代码也会被执行")
2 变量和数据类型
变量是存储数据的容器,在 Python 中,您不需要像 C++ 或 Java 那样先声明变量类型,直接赋值即可。
Python 中常见的基本数据类型:
| 类型 | 名称 | 描述 | 示例 |
|---|---|---|---|
int |
整数 | 不带小数的数字 | age = 25 |
float |
浮点数 | 带小数的数字 | price = 99.98 |
str |
字符串 | 文本数据,用单引号或双引号括起来 | name = "张三" |
bool |
布尔值 | 只有两个值:True 或 False |
is_student = True |
# 变量赋值 name = "李四" age = 30 height = 1.75 is_learning = True # 查看变量类型 print(type(name)) # <class 'str'> print(type(age)) # <class 'int'>
3 输入和输出
- 输出:使用
print()函数。print("你好,", name) # 使用 f-string (格式化字符串) 更方便 print(f"你好,{name},你今年{age}岁了。") - 输入:使用
input()函数,它会从用户那里获取输入,并且总是返回一个字符串。user_input = input("请输入您的名字:") print(f"您好,{user_input}!")
第三章:运算符
1 算术运算符
用于数学计算。

| 运算符 | 描述 | 示例 |
|---|---|---|
| 加法 | a + b |
|
| 减法 | a - b |
|
| 乘法 | a * b |
|
| 除法 (返回浮点数) | a / b |
|
| 整除 (返回整数部分) | a // b |
|
| 取余 | a % b |
|
| 幂运算 | a ** b |
a = 10 b = 3 print(a + b) # 13 print(a / b) # 3.333... print(a // b) # 3 print(a % b) # 1 print(a ** b) # 1000 (10的3次方)
2 比较运算符
用于比较两个值,返回 True 或 False。
| 运算符 | 描述 | 示例 |
|---|---|---|
| 等于 | a == b |
|
| 不等于 | a != b |
|
> |
大于 | a > b |
< |
小于 | a < b |
>= |
大于等于 | a >= b |
<= |
小于等于 | a <= b |
3 逻辑运算符
用于组合多个条件。
| 运算符 | 描述 | 示例 |
|---|---|---|
and |
与 (两边都为真,结果才为真) | a > 5 and b < 10 |
or |
或 (两边有一个为真,结果就为真) | a > 5 or b < 2 |
not |
非 (取反) | not (a > 5) |
第四章:控制流
1 条件语句 if-elif-else
根据不同的条件执行不同的代码块。
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
2 循环语句
-
for循环:用于遍历任何可迭代对象(如列表、字符串、范围等)。# 遍历一个列表 fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(f"我喜欢吃 {fruit}") # 使用 range() 函数 # range(5) 会生成 0, 1, 2, 3, 4 for i in range(5): print(f"当前数字是: {i}") # range(2, 6) 会生成 2, 3, 4, 5 for i in range(2, 6): print(f"当前数字是: {i}") -
while循环:只要条件为True,就会一直循环。count = 0 while count < 5: print(f"Count is: {count}") count += 1 # 别忘了增加计数器,否则会是死循环!
3 break 和 continue
-
break:立即跳出整个循环。for i in range(10): if i == 5: break # 当 i 等于 5 时,循环终止 print(i) # 输出: 0, 1, 2, 3, 4 -
continue:跳过当前迭代,直接进入下一次循环。for i in range(10): if i % 2 == 0: continue # 跳过偶数 print(i) # 输出: 1, 3, 5, 7, 9
第五章:数据结构
1 列表
列表是 Python 中最常用的数据结构,它是一个有序、可变的元素集合。
# 创建列表
my_list = [1, "hello", 3.14, True]
# 访问元素 (索引从 0 开始)
print(my_list[0]) # 输出: 1
print(my_list[-1]) # 输出: True (负数索引表示从末尾开始)
# 切片 (获取一个子列表)
print(my_list[1:3]) # 输出: ['hello', 3.14]
# 修改元素
my_list[0] = 100
print(my_list) # 输出: [100, 'hello', 3.14, True]
# 添加元素
my_list.append("new_item") # 添加到末尾
my_list.insert(0, "first") # 插入到指定位置
# 删除元素
my_list.remove("hello") # 删除值为 "hello" 的第一个元素
popped_item = my_list.pop() # 删除并返回最后一个元素
# 常用方法
print(len(my_list)) # 获取列表长度
my_list.sort() # 对列表进行排序 (如果元素类型一致)
my_list.reverse() # 反转列表
2 元组
元组与列表类似,但它是一个有序、不可变的集合,一旦创建,就不能修改。
# 创建元组 my_tuple = (1, 2, 3, "a", "b") # 访问元素和切片与列表相同 print(my_tuple[0]) # 输出: 1 print(my_tuple[1:3]) # 输出: (2, 3) # 不能修改元素 (会报错) # my_tuple[0] = 100 # TypeError: 'tuple' object does not support item assignment
3 字典
字典是存储键值对的无序集合,它通过键来快速查找值。
# 创建字典
student = {
"name": "王五",
"age": 20,
"city": "北京"
}
# 访问值
print(student["name"]) # 输出: 王五
print(student.get("age")) # 使用 get 方法更安全,如果键不存在会返回 None 而不是报错
# 添加或修改键值对
student["gender"] = "男" # 添加新键
student["age"] = 21 # 修改已有键的值
# 删除键值对
del student["city"]
age = student.pop("age") # 删除并返回值
# 常用方法
print(student.keys()) # 获取所有键
print(student.values()) # 获取所有值
print(student.items()) # 获取所有键值对
4 集合
集合是一个无序、不重复的元素集合。
# 创建集合
my_set = {1, 2, 2, 3, 4, 4, 5} # 重复的元素会被自动去除
print(my_set) # 输出: {1, 2, 3, 4, 5}
# 添加元素
my_set.add(6)
# 删除元素
my_set.remove(1) # 如果元素不存在会报错
my_set.discard(10) # 如果元素不存在不会报错
# 集合运算
set_a = {1, 2, 3}
set_b = {3, 4, 5}
print(set_a.union(set_b)) # 并集: {1, 2, 3, 4, 5}
print(set_a.intersection(set_b)) # 交集: {3}
print(set_a.difference(set_b)) # 差集: {1, 2}
第二部分:Python 进阶
第六章:函数
函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段。
1 定义和调用函数
使用 def 关键字来定义函数。
# 定义一个函数
def greet(name):
"""这是一个文档字符串,用于描述函数的功能"""
return f"你好, {name}! 欢迎学习Python。"
# 调用函数
message = greet("赵六")
print(message) # 输出: 你好, 赵六! 欢迎学习Python。
# 带默认参数的函数
def power(base, exponent=2):
return base ** exponent
print(power(3)) # 输出: 9 (使用默认的 exponent=2)
print(power(3, 3)) # 输出: 27 (覆盖默认参数)
2 参数类型
- 位置参数:按顺序传递的参数。
- 关键字参数:通过参数名传递的参数。
*args:允许函数接受任意数量的位置参数,并将其打包成一个元组。**kwargs:允许函数接受任意数量的关键字参数,并将其打包成一个字典。
def func(a, b, *args, **kwargs):
print(f"a: {a}, b: {b}")
print(f"args: {args}") # args 是一个元组
print(f"kwargs: {kwargs}") # kwargs 是一个字典
func(1, 2, 3, 4, 5, name="Tom", age=25)
# 输出:
# a: 1, b: 2
# args: (3, 4, 5)
# kwargs: {'name': 'Tom', 'age': 25}
第七章:模块和包
模块是一个包含 Python 定义和语句的文件,包是一个包含多个模块的目录。
1 导入模块
使用 import 语句来使用其他模块中的代码。
# 导入整个模块 import math print(math.sqrt(16)) # 输出: 4.0 # 导入模块中的特定函数 from math import pi, sin print(pi) # 输出: 3.141592653589793 print(sin(pi/2)) # 输出: 1.0 # 使用别名导入 from datetime import datetime as dt now = dt.now() print(now)
2 创建自己的模块
-
创建一个名为
my_module.py的文件。 -
在文件中写入一些函数和变量:
# my_module.py def add(a, b): return a + b PI = 3.14159 -
在另一个 Python 文件中导入并使用它:
# main.py import my_module result = my_module.add(10, 5) print(f"结果是: {result}") print(f"PI的值是: {my_module.PI}")
第八章:面向对象编程
面向对象是一种编程思想,它将数据和对数据的操作封装在一起,形成“对象”。
1 类和对象
- 类:创建对象的蓝图或模板。
- 对象:类的实例。
# 定义一个类
class Dog:
# 类的初始化方法(构造函数)
def __init__(self, name, age):
self.name = name # 实例属性
self.age = age
# 实例方法
def bark(self):
return f"{self.name} 正在汪汪叫!"
def celebrate_birthday(self):
self.age += 1
return f"{self.name} 过了生日,{self.age} 岁了!"
# 创建类的实例(对象)
my_dog = Dog("旺财", 2)
# 访问对象的属性和方法
print(my_dog.name) # 输出: 旺财
print(my_dog.bark()) # 输出: 旺财 正在汪汪叫!
print(my_dog.celebrate_birthday()) # 输出: 旺财 过了生日,3 岁了!
第三部分:学习资源与建议
推荐学习资源
- 官方文档:Python 官方文档 (中文) - 最权威、最准确,适合查阅。
- 菜鸟教程:runoob.com/python3/python3-tutorial.html - 非常适合初学者,有大量实例和在线练习。
- 廖雪峰的官方网站:liaoxuefeng.com - 讲解深入浅出,逻辑清晰,广受好评。
- 视频课程:
- Coursera: "Python for Everybody" (密歇根大学) - 经典入门课,有中文字幕。
- Bilibili: 搜索“Python入门”,有大量免费且优质的中文教学视频。
- 练习平台:
- LeetCode: 刷算法题,提升编程能力。
- HackerRank: 提供各种编程挑战,包括 Python 专项练习。
- 牛客网: 国内知名的 IT 面试和练习平台。
学习建议
- 多动手,少看视频:看十遍不如自己写一遍,跟着教程敲代码,然后尝试自己修改和扩展。
- 学会查文档:遇到问题,先尝试搜索(Google/Bing),关键词如 "python how to xxx",学会阅读官方文档是程序员的核心技能。
- 多思考,多总结:理解代码背后的逻辑,而不是死记硬背,学完一个章节后,尝试用自己的话总结一下要点。
- 做小项目:学了基础后,尝试做一些小项目来巩固知识,比如一个简单的计算器、一个待办事项列表、一个爬虫脚本等,项目驱动学习是最好的方式。
祝您学习愉快,早日成为 Python 大师!
