AI 开发之 Python 编程技能
巩固Python 编程技能,掌握 AI 开发所需的核心数学知识,为后续学习机器学习和深度学习打下基础。
AI 开发之 Python 编程技能
- 前言
- 一、Python 基础知识
- 1. 基本语法与数据类型
- 核心内容
- 练习
- 资源
- 2. 控制流
- 核心内容
- 练习
- 资源
- 3. 函数与模块
- 核心内容
- 练习
- 资源
- 二、AI 开发常用库
- 1. NumPy(数值计算)
- 核心内容
- 练习
- 资源
- 2. Pandas(数据处理)
- 核心内容
- 练习
- 资源
- 3. Matplotlib(数据可视化)
- 核心内容
- 练习
- 资源
- 三、实践项目
- 项目 1:简单计算器
- 项目 2:数据分析脚本
- 项目 3:NumPy 矩阵运算
- 推荐工具
- 下一步
- 我是将军,我一直都在
前言
为什么学 Python:Python 是 AI 开发的主流语言,拥有丰富的机器学习和深度学习库(如 NumPy、TensorFlow、PyTorch)。
重点:
基本语法、数据结构(列表、字典、集合等)。
Python 的面向对象编程和函数式编程。
常用库:NumPy(数值计算)、Pandas(数据处理)、Matplotlib(数据可视化)。
将军会从 Python 的基础知识开始讲解,逐步深入到 AI 开发中常用的库和实践方法
一、Python 基础知识
1. 基本语法与数据类型
核心内容
- 变量与数据类型:
- 基本类型:整数(
int
)、浮点数(float
)、字符串(str
)、布尔值(bool
)。 - 复合类型:列表(
list
)、元组(tuple
)、字典(dict
)、集合(set
)。 - 示例代码:
# 变量与基本类型 age = 25 # 整数 height = 1.75 # 浮点数 name = "Alice" # 字符串 is_student = True # 布尔值# 列表与字典 numbers = [1, 2, 3, 4] # 列表 person = {"name": "Alice", "age": 25} # 字典 print(numbers[0]) # 输出 1 print(person["name"]) # 输出 Alice
- 基本类型:整数(
- 运算符:
- 算术运算:
+
,-
,*
,/
,//
(整除),%
(取模),**
(幂)。 - 比较运算:
==
,!=
,>
,<
,>=
,<=
。 - 逻辑运算:
and
,or
,not
。
- 算术运算:
- 输入与输出:
- 使用
input()
获取用户输入,print()
输出结果。name = input("请输入你的名字:") print(f"你好,{name}!")
- 使用
练习
- 编写一个程序,计算用户输入的两个数的和与平均值。
- 创建一个包含 5 个名字的列表,打印出第 3 个名字,并添加一个新名字到列表。
资源
- 书籍:
- 《Python Crash Course》(Eric Matthes):第 1-5 章,涵盖基本语法和数据结构,适合初学者。
- 可在 O’Reilly 或亚马逊购买电子版/纸质版。
- 《Python Crash Course》(Eric Matthes):第 1-5 章,涵盖基本语法和数据结构,适合初学者。
- 在线课程:
- Coursera:《Python for Everybody》(密歇根大学,免费试听):
课程链接 - Codecademy 的 Python 3 课程(部分免费):
课程链接
- Coursera:《Python for Everybody》(密歇根大学,免费试听):
- 实践平台:
- LeetCode 的 Python 题目(选择“Easy”难度):
LeetCode - HackerRank 的 Python 练习:
HackerRank
- LeetCode 的 Python 题目(选择“Easy”难度):
2. 控制流
核心内容
- 条件语句:
- 使用
if
,elif
,else
实现分支逻辑。score = 85 if score >= 90:print("优秀") elif score >= 60:print("及格") else:print("不及格")
- 使用
- 循环:
for
循环:遍历列表、字符串等可迭代对象。for i in range(5): # 输出 0 到 4print(i)
while
循环:基于条件重复执行。count = 0 while count < 5:print(count)count += 1
- 列表推导式:
- 简洁创建列表的语法。
squares = [x**2 for x in range(5)] # [0, 1, 4, 9, 16]
- 简洁创建列表的语法。
练习
- 编写一个程序,判断一个数是否为偶数。
- 使用循环打印 1 到 10 的平方。
- 使用列表推导式生成一个包含 1 到 20 偶数的列表。
资源
- 互动教程:
- W3Schools 的 Python 教程(免费,包含控制流):
W3Schools Python
- W3Schools 的 Python 教程(免费,包含控制流):
- 视频教程:
- freeCodeCamp 的 Python 入门视频(YouTube,免费):
YouTube 链接
- freeCodeCamp 的 Python 入门视频(YouTube,免费):
3. 函数与模块
核心内容
- 函数定义:
- 使用
def
定义函数,支持默认参数、可变参数。def greet(name, greeting="Hello"):return f"{greeting}, {name}!" print(greet("Alice")) # 输出:Hello, Alice!
- 使用
- 模块与包:
- 导入标准库模块(如
math
,random
)。 - 安装和使用第三方库(如
pip install numpy
)。import math print(math.sqrt(16)) # 输出 4.0
- 导入标准库模块(如
- 异常处理:
- 使用
try
,except
处理错误。try:result = 10 / 0 except ZeroDivisionError:print("不能除以 0!")
- 使用
练习
- 编写一个函数,计算一个数的阶乘。
- 创建一个模块,包含一个计算圆面积的函数,并在主程序中调用。
- 编写一个程序,处理用户输入的数字,捕获非数字输入的异常。
资源
- 官方文档:
- Python 官方教程(简洁,权威):
Python Docs
- Python 官方教程(简洁,权威):
- 实践平台:
- Replit(在线 Python 环境,适合快速实验):
Replit
- Replit(在线 Python 环境,适合快速实验):
二、AI 开发常用库
1. NumPy(数值计算)
核心内容
- 数组操作:
- 创建数组、矩阵运算、广播机制。
import numpy as np arr = np.array([1, 2, 3]) print(arr * 2) # 输出 [2, 4, 6]
- 创建数组、矩阵运算、广播机制。
- 常用函数:
np.mean()
,np.std()
,np.dot()
(矩阵点积)。 - 应用:数据预处理、矩阵计算(AI 模型的基础)。
练习
- 创建一个 3x3 矩阵,计算其转置和行列式。
- 使用 NumPy 生成 100 个随机数,计算均值和标准差。
资源
- 教程:
- NumPy 官方快速入门:
NumPy Quickstart - Kaggle 的 NumPy 教程:
Kaggle NumPy
- NumPy 官方快速入门:
- 视频:
- Corey Schafer 的 NumPy 教程(YouTube):
YouTube 链接
- Corey Schafer 的 NumPy 教程(YouTube):
2. Pandas(数据处理)
核心内容
- DataFrame 与 Series:
- 创建和操作表格数据。
import pandas as pd data = {"name": ["Alice", "Bob"], "age": [25, 30]} df = pd.DataFrame(data) print(df)
- 创建和操作表格数据。
- 数据操作:过滤、排序、分组、合并。
- 应用:数据清洗、特征工程。
练习
- 读取一个 CSV 文件(如 Kaggle 的 Titanic 数据集),统计年龄的均值。
- 过滤出年龄大于 30 岁的乘客数据。
资源
- 教程:
- Pandas 官方 10 分钟入门:
Pandas Getting Started - Kaggle 的 Pandas 微课程:
Kaggle Pandas
- Pandas 官方 10 分钟入门:
- 数据集:
- Kaggle 数据集:
Titanic Dataset
- Kaggle 数据集:
3. Matplotlib(数据可视化)
核心内容
- 基本绘图:
- 绘制折线图、散点图、柱状图。
import matplotlib.pyplot as plt x = [1, 2, 3] y = [2, 4, 6] plt.plot(x, y) plt.show()
- 绘制折线图、散点图、柱状图。
- 定制化:添加标题、标签、图例。
练习
- 绘制一个正弦函数的折线图。
- 使用 Pandas 和 Matplotlib 绘制 Titanic 数据集中年龄的直方图。
资源
- 教程:
- Matplotlib 官方教程:
Matplotlib Tutorials - Kaggle 的数据可视化课程:
Kaggle Data Visualization
- Matplotlib 官方教程:
三、实践项目
项目 1:简单计算器
- 任务:编写一个命令行计算器,支持加、减、乘、除四种运算,处理用户输入并捕获异常。
- 目标:熟悉函数、控制流和异常处理。
项目 2:数据分析脚本
- 任务:使用 Pandas 读取一个 CSV 文件(如 Kaggle 的 Titanic 数据集),计算基本统计信息(均值、中位数),并用 Matplotlib 绘制可视化图表。
- 目标:掌握 Pandas 和 Matplotlib 的基本使用。
项目 3:NumPy 矩阵运算
- 任务:使用 NumPy 创建两个 3x3 矩阵,计算它们的乘积和逆矩阵(如果存在)。
- 目标:熟悉 NumPy 的矩阵运算,为后续机器学习做准备。
推荐工具
- 编程环境:
- VS Code:安装 Python 插件,支持代码补全和调试。
VS Code 下载 - Jupyter Notebook:适合数据分析和可视化。
Jupyter 安装
- VS Code:安装 Python 插件,支持代码补全和调试。
- 在线平台:
- Google Colab:免费提供 GPU,适合后续 AI 实验。
Google Colab - Kaggle:提供数据集和 Notebook 环境。
Kaggle
- Google Colab:免费提供 GPU,适合后续 AI 实验。
下一步
完成 Python 基础和 AI 常用库的学习后,大家可以开始尝试简单的机器学习任务(如使用 Scikit-learn 进行分类)。在完成本阶段后,将军之后有时间也会给大家写一篇关于AI 数学基础(线性代数、概率统计等)或直接进入 机器学习基础!