Python 中文教程
Python 是一种高级、解释型、通用的编程语言,它的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词),这使得 Python 成为初学者学习编程的首选,同时也被广泛应用于 Web 开发、数据科学、人工智能、自动化脚本等领域。
目录
第一部分:Python 基础入门
1 环境搭建
在开始之前,你需要安装 Python。
- 下载安装包:访问 Python 官方网站 python.org,下载适用于你操作系统的最新稳定版。
- 安装:运行安装包。重要:在 Windows 系统中,请务必勾选 "Add Python to PATH" 选项,这样你就可以在命令行中直接使用
python命令。 - 验证安装:打开终端(Windows上是命令提示符或 PowerShell,macOS/Linux上是 Terminal),输入以下命令:
python --version
如果显示 Python 的版本号,说明安装成功。
2 第一个 Python 程序:Hello, World!
这是学习任何一门编程语言的传统第一步。
- 创建一个新文件,命名为
hello.py。 - 在文件中输入以下代码:
print("Hello, World!") - 在终端中,进入文件所在的目录,然后运行:
python hello.py
- 你将在终端看到输出:
Hello, World!print()是一个函数,用于在屏幕上显示内容。
3 变量与数据类型
变量是存储数据的容器,Python 是动态类型语言,你不需要在声明变量时指定类型。
# 字符串 name = "张三" message = '你好,世界!' # 整数 age = 25 # 浮点数 height = 1.75 # 布尔值 is_student = True print(name, age, height, is_student)
4 注释
注释是代码中解释性或说明性的文字,Python 解释器会忽略它们,使用 来写单行注释。
# 这是一个单行注释
print("这行代码会被执行")
"""
这是一个多行注释(也称为文档字符串)。
可以用来写多行说明。
"""
print("这行代码也会被执行")
5 基本运算
Python 支持常见的算术运算符。
a = 10 b = 3 # 加法 print(a + b) # 输出: 13 # 减法 print(a - b) # 输出: 7 # 乘法 print(a * b) # 输出: 30 # 除法(结果总是浮点数) print(a / b) # 输出: 3.333... # 整除(只保留整数部分) print(a // b) # 输出: 3 # 取余(求余数) print(a % b) # 输出: 1 # 幂运算 print(a ** b) # 输出: 1000 (10的3次方)
6 用户输入
使用 input() 函数可以获取用户的键盘输入。
# input() 函数返回的是字符串类型
user_name = input("请输入你的名字:")
user_age = input("请输入你的年龄:")
# 如果需要进行数学计算,需要将字符串转换为整数
age_as_int = int(user_age)
print(f"你好, {user_name}! 你明年将 {age_as_int + 1} 岁了。")
注意:
f"..."是一种格式化字符串的方式,称为 f-string,非常方便。
第二部分:核心数据结构
数据结构是组织和存储数据的方式,Python 中最核心的四种数据结构是:列表、元组、字典和集合。
1 列表
列表是一个有序的、可修改的元素集合,用方括号 [] 表示。
# 创建一个列表
fruits = ["apple", "banana", "cherry"]
# 访问元素(索引从0开始)
print(fruits[0]) # 输出: apple
# 修改元素
fruits[1] = "blueberry"
print(fruits) # 输出: ['apple', 'blueberry', 'cherry']
# 添加元素
fruits.append("orange")
print(fruits) # 输出: ['apple', 'blueberry', 'cherry', 'orange']
# 删除元素
fruits.remove("cherry")
print(fruits) # 输出: ['apple', 'blueberry', 'orange']
2 元组
元组是一个有序的、不可修改的元素集合,用圆括号 表示,一旦创建,就不能更改。
# 创建一个元组 coordinates = (10.0, 20.0) # 访问元素 print(coordinates[0]) # 输出: 10.0 # 尝试修改会报错 # coordinates[0] = 15.0 # TypeError: 'tuple' object does not support item assignment
3 字典
字典是一个无序的键值对集合,用花括号 表示,每个键必须是唯一的。
# 创建一个字典
student = {
"name": "李四",
"age": 21,
"city": "北京"
}
# 通过键访问值
print(student["name"]) # 输出: 李四
# 添加或修改键值对
student["major"] = "计算机科学"
student["age"] = 22 # 修改年龄
print(student)
# 输出: {'name': '李四', 'age': 22, 'city': '北京', 'major': '计算机科学'}
4 集合
集合是一个无序的、不包含重复元素的集合,用花括号 或 set() 函数创建。
# 创建一个集合
unique_numbers = {1, 2, 2, 3, 4, 4, 5}
print(unique_numbers) # 输出: {1, 2, 3, 4, 5} (重复的2和4被自动去除了)
# 添加元素
unique_numbers.add(6)
print(unique_numbers) # 输出: {1, 2, 3, 4, 5, 6}
5 字符串操作
字符串是字符的序列,Python 提供了丰富的字符串操作方法。
text = " Hello, Python! "
# 获取长度
print(len(text)) # 输出: 17
# 转换大小写
print(text.upper()) # 输出: HELLO, PYTHON!
print(text.lower()) # 输出: hello, python!
# 去除首尾空格
print(text.strip()) # 输出: Hello, Python!
# 替换字符
print(text.replace("Python", "World")) # 输出: Hello, World!
# 查找子串
print(text.find("Python")) # 输出: 8 (找到的起始索引)
# 切片
print(text[2:7]) # 输出: llo,
第三部分:流程控制
1 条件语句
使用 if, elif (else if), else 来根据条件执行不同的代码块。
age = 18
if age < 13:
print("你是儿童。")
elif age < 18:
print("你是青少年。")
else:
print("你是成年人。")
2 循环语句
for 循环:用于遍历序列(如列表、字符串等)中的每个元素。
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(f"我喜欢吃 {fruit}。")
while 循环:只要条件为 True,就会一直执行。
count = 0
while count < 5:
print(f"计数器: {count}")
count += 1 # 等同于 count = count + 1
第四部分:函数与模块
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 模块与包
模块是一个包含 Python 定义和语句的文件,你可以使用 import 语句来使用其他模块中的功能。
# 导入整个 math 模块
import math
print(math.sqrt(16)) # 输出: 4.0
print(math.pi) # 输出: 3.141592653589793
# 导入特定功能
from random import randint
# 生成一个 1 到 100 之间的随机整数
random_number = randint(1, 100)
print(f"随机数是: {random_number}")
第五部分:面向对象编程
OOP 是一种编程范式,它使用“对象”来构建程序。
1 类与对象
类是创建对象的蓝图或模板,对象是类的实例。
# 定义一个类
class Dog:
# 构造函数,在创建对象时自动调用
def __init__(self, name, age):
self.name = name
self.age = age
# 定义一个方法(函数)
def bark(self):
return f"{self.name} 正在汪汪叫!"
def describe(self):
return f"这是一只名叫 {self.name},年龄为 {self.age} 岁的狗。"
# 创建类的对象(实例)
my_dog = Dog("旺财", 3)
# 访问对象的属性和方法
print(my_dog.describe())
print(my_dog.bark())
2 继承
继承允许一个类(子类)继承另一个类(父类)的属性和方法。
# 父类
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
raise NotImplementedError("子类必须实现此方法")
# 子类,继承自 Animal
class Cat(Animal):
# 重写父类的 speak 方法
def speak(self):
return f"{self.name} 喵喵叫!"
# 创建子类对象
my_cat = Cat("咪咪")
print(my_cat.speak()) # 输出: 咪咪 喵喵叫!
第六部分:文件操作与异常处理
1 文件读写
使用 open() 函数来操作文件,推荐使用 with 语句,因为它会自动处理文件的关闭。
# 写入文件
with open("my_file.txt", "w", encoding="utf-8") as f:
f.write("这是第一行,\n")
f.write("这是第二行。")
# 读取文件
with open("my_file.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
# 输出:
# 这是第一行。
# 这是第二行。
2 异常处理
使用 try...except 结构来捕获和处理程序运行时可能发生的错误,防止程序崩溃。
try:
num_str = input("请输入一个数字: ")
num = int(num_str)
result = 10 / num
print(f"10 除以 {num} 的结果是 {result}")
except ValueError:
print("错误:你输入的不是一个有效的数字!")
except ZeroDivisionError:
print("错误:不能除以零!")
except Exception as e:
print(f"发生了一个未知错误: {e}")
第七部分:实战项目
简易计算器
def calculator():
print("--- 简易计算器 ---")
try:
num1 = float(input("请输入第一个数字: "))
operator = input("请输入运算符 (+, -, *, /): ")
num2 = float(input("请输入第二个数字: "))
if operator == '+':
print(f"结果: {num1 + num2}")
elif operator == '-':
print(f"结果: {num1 - num2}")
elif operator == '*':
print(f"结果: {num1 * num2}")
elif operator == '/':
if num2 == 0:
print("错误:除数不能为零!")
else:
print(f"结果: {num1 / num2}")
else:
print("无效的运算符!")
except ValueError:
print("错误:请输入有效的数字!")
calculator()
猜数字游戏
import random
def guess_the_number():
secret_number = random.randint(1, 100)
attempts = 0
print("我想了一个 1 到 100 之间的数字,你能猜到吗?")
while True:
try:
guess = int(input("请输入你的猜测: "))
attempts += 1
if guess < secret_number:
print("太小了!")
elif guess > secret_number:
print("太大了!")
else:
print(f"恭喜你!你猜对了!数字就是 {secret_number}。")
print(f"你总共猜了 {attempts} 次。")
break
except ValueError:
print("请输入一个有效的整数!")
guess_the_number()
第八部分:学习资源与进阶方向
官方文档
- Python 官方文档 (中文版): docs.python.org/zh-cn/ - 最权威、最全面的资料,适合查阅和深入理解。
优秀在线教程
- 廖雪峰的 Python 教程: liaoxuefeng.com/wiki/1016959663602400 - 国内非常经典和受欢迎的免费教程,内容详实,讲解清晰。
- 菜鸟教程 (Runoob): runoob.com/python/python-tutorial.html - 提供快速入门和基础知识的速查手册。
- Real Python: realpython.com - 提供大量高质量、深入的 Python 教程和文章,部分内容免费。
进阶方向
当你掌握了基础后,可以根据兴趣选择以下方向深入学习:
- Web 开发:
- 框架: Django (功能强大,适合大型项目), Flask (轻量灵活,适合小型项目)。
- 数据科学与分析:
- 库: NumPy (科学计算), Pandas (数据处理), Matplotlib/Seaborn (数据可视化)。
- 机器学习与人工智能:
- 库: Scikit-learn (机器学习), TensorFlow/PyTorch (深度学习)。
- 自动化运维与脚本:
学习使用 Python 与操作系统交互,编写自动化脚本,处理文件、网络请求等。
学习建议:
- 多动手实践: 看十遍不如写一遍,跟着教程敲代码,并尝试修改和扩展。
- 多阅读优秀代码: 在 GitHub 上寻找你感兴趣的开源项目,阅读别人的代码。
- 坚持解决问题: 遇到 Bug 不要怕,学会使用搜索引擎和调试工具是程序员的核心技能。
希望这份中文教程能帮助你顺利开启 Python 学习之旅!祝你编程愉快!
