《Python AI入门》第1章 环境搭建与Python极速入门——你的第一行AI代码
本文摘要:本章为AI开发新手提供快速入门指南,重点解决环境配置和核心Python语法问题。首先推荐使用Anaconda而非原生Python来避免依赖冲突,并详细介绍安装注意事项。接着讲解虚拟环境的重要性及创建方法,确保项目隔离。核心内容聚焦AI开发中最常用的20%Python语法:变量、列表、字典、循环和函数。最后通过一个实用的文件整理脚本(涉及路径操作、文件分类等)进行实战演练,这些技能将成为后
章节导语
“很多初学者不是倒在了复杂的数学公式面前,而是倒在了配置环境的第一步。”
相信我,你并不孤单。对着漆黑的命令行窗口(Terminal)发呆,因为一行红色的报错代码而抓狂,这是每一位AI工程师的“成人礼”。
本章不打算让你背诵厚厚的Python语法字典,那样太枯燥且效率低下。我们将采用“倒叙式学习”——先配置好一个专业的、工业级的开发环境,然后只学习AI开发中最常用的那20%的核心语法,最后通过一个自动整理文件的实战脚本,让你立刻体验到代码“跑起来”的快感。
准备好了吗?让我们开始构建你的AI军火库。
1.1 学习目标
在学完本章后,你将能够:
-
避开环境配置的坑:理解为什么不直接安装Python,而是选择Anaconda。
-
像工程师一样思考:掌握虚拟环境(Virtual Environment)的概念,学会隔离项目依赖。
-
掌握核心兵器:熟悉VS Code编辑器的配置与使用。
-
极速上手:掌握变量、列表、字典、循环与函数这五大AI核心语法。
-
完成首杀:编写并运行一个自动化文件整理脚本,理解程序处理数据的基本逻辑。
1.2 工欲善其事:Anaconda与VS Code
1.2.1 为什么我们需要Anaconda?
很多Python入门书会让你直接去官网下载Python安装包。在AI领域,请不要这样做。
AI开发需要用到成百上千个第三方库(比如Pandas、PyTorch、TensorFlow)。如果直接使用原生Python,你很快就会陷入“依赖地狱”——比如A库需要Python 3.8,而B库只能在Python 3.10上运行,你的电脑会因此变得一团糟。
Anaconda 就是为了解决这个问题而生的。它像是一个“精装修的房子”,不仅内置了Python解释器,还帮你预装了150多个科学计算包,最重要的是,它提供了一个强大的包管理器——conda。
1.2.2 安装避坑指南
请前往 Anaconda 官网或清华大学开源软件镜像站(推荐国内用户使用,速度快)下载对应你操作系统的安装包。
【小白避坑】最重要的安装步骤 在Windows安装过程中,会出现一个复选框:"Add Anaconda3 to my PATH environment variable"。 尽管安装程序会提示红色警告“不推荐”,但对于初学者,请务必勾选它!
原因:勾选后,你就可以直接在CMD命令行里使用
conda和python命令,省去了后续手动配置环境变量的巨大麻烦。
1.2.3 你的代码手术台:VS Code
代码编辑器我们首选 Visual Studio Code (VS Code)。它轻量、免费、插件丰富,是目前全球最流行的代码编辑器。
安装后的关键配置:
-
打开VS Code,点击左侧边栏的方块图标(Extensions)。
-
搜索并安装 Python 插件(Microsoft官方出品)。
-
搜索并安装 Chinese (Simplified) 插件,将界面汉化。
1.3 工程化思维:虚拟环境的魔法
在写第一行代码前,我要灌输给你一个工程化思维:隔离。
想象一下,你在做两个项目:
-
项目A:复现一篇2018年的老论文,需要旧版的软件包。
-
项目B:使用2024年最新的大模型技术,需要最新的软件包。
如果在同一个环境下安装,新旧版本会冲突。解决办法就是创建虚拟环境。每一个虚拟环境都是一个独立的“平行宇宙”,互不干扰。
实战操作
打开你的终端(Windows下是CMD或PowerShell,Mac下是Terminal),输入以下命令:
# 1. 创建一个名为 "ai_start" 的虚拟环境,指定Python版本为3.10
conda create -n ai_start python=3.10
# 2. 中途会提示 Proceed ([y]/n)? 输入 y 并回车
# 3. 激活(进入)这个环境
conda activate ai_start
当你看到命令行前面出现 (ai_start) 字样时,恭喜你,你已经进入了专属的开发宇宙。我们将在这个环境里完成本书所有的项目。
1.4 Python极速入门:只学AI用得着的
Python的语法很多,但AI开发中高频使用的并不多。我们只看核心。
请在VS Code中新建一个文件 hello_ai.py,跟着我敲下代码。
1.4.1 变量:数据的容器
AI的本质就是处理数据。变量就是贴了标签的盒子。
# 整数与浮点数
batch_size = 32 # 每次训练读取32条数据
learning_rate = 0.001 # 学习率(小数)
# 字符串
model_name = "ChatGPT" # 文本数据
# 布尔值
is_training = True # 开关状态
1.4.2 列表(List)与字典(Dict):核心数据结构
这是AI中最常用的两种“仓库”。
-
列表:有序的仓库,适合存一堆图片路径或一串数字。
-
字典:带标签的仓库,适合存模型的配置参数。
# --- 列表 List ---
# 假设这是一个简单的房价数据集
house_prices = [100, 200, 150, 300]
print(house_prices[0]) # 取出第1个数据(注意:计算机从0开始计数!)
print(house_prices[-1]) # 取出倒数第1个数据,这在不知道列表长度时很有用
# --- 字典 Dictionary ---
# 这是一个用户的画像数据
user_profile = {
"name": "Alice",
"age": 25,
"interests": ["AI", "Music"]
}
print(user_profile["age"]) # 像查字典一样通过 key 找到 value
1.4.3 循环与判断:程序的逻辑
AI模型训练通常需要跑几千轮(Epoch),这就需要循环。
# 遍历列表
for price in house_prices:
if price > 180:
print(f"价格 {price} 属于高价房") # f-string是Python最方便的格式化字符串写法
else:
print(f"价格 {price} 属于普通房")
【专业提示】缩进的艺术 Python没有大括号
{}来包含代码块,而是严格依靠缩进(通常是4个空格或1个Tab)。缩进不对,程序必报错。这是Python强制你写出整洁代码的手段。
1.4.4 函数:模块化思维
不要把所有代码写成一坨。将功能封装成函数,是工程化的第一步。
def calculate_loss(prediction, target):
"""
这是一个计算误差的简单函数
prediction: 模型的预测值
target: 真实值
"""
error = prediction - target
return abs(error) # 返回绝对值
# 调用函数
loss = calculate_loss(100, 105)
print(f"当前模型的误差是: {loss}")
1.5 实战案例:自动化文件整理脚本
既然学会了基础,我们就来做一个真实可用的项目。
场景描述: 你的“下载”文件夹里乱七八糟,堆满了图片(.jpg, .png)、文档(.pdf, .docx)和压缩包。我们写一个Python脚本,自动把它们分类放入对应的文件夹。
这与AI有什么关系? 这个案例涵盖了文件读取、路径操作和逻辑判断——这正是未来我们在做数据清洗和加载数据集时最常做的事情。
第一步:代码实现
在VS Code中新建 organizer.py,输入以下代码:
import os
import shutil # 用于移动文件的标准库
# --- 配置区域 ---
# 替换为你想要整理的文件夹路径 (注意:Windows路径建议在字符串前加 r,防止转义)
target_dir = r"C:\Users\YourName\Downloads\TestFolder"
# 定义分类规则:后缀名 -> 文件夹名
extensions_map = {
'.jpg': 'Images',
'.png': 'Images',
'.pdf': 'Documents',
'.docx': 'Documents',
'.zip': 'Archives',
'.rar': 'Archives'
}
def organize_files(directory):
# 1. 检查目录是否存在
if not os.path.exists(directory):
print(f"错误:找不到路径 {directory}")
return
# 2. 遍历目录下的所有文件
for filename in os.listdir(directory):
# 获取文件的完整路径
file_path = os.path.join(directory, filename)
# 如果是文件夹,跳过,只处理文件
if os.path.isdir(file_path):
continue
# 3. 获取文件后缀名 (转为小写,防止 .JPG 和 .jpg 识别不一致)
file_ext = os.path.splitext(filename)[1].lower()
# 4. 判断并移动
if file_ext in extensions_map:
# 获取目标文件夹名称
folder_name = extensions_map[file_ext]
# 拼凑目标文件夹路径
target_folder_path = os.path.join(directory, folder_name)
# 如果目标文件夹不存在,自动创建
if not os.path.exists(target_folder_path):
os.makedirs(target_folder_path)
print(f"创建新文件夹: {folder_name}")
# 移动文件
# 构造新的文件路径
new_file_path = os.path.join(target_folder_path, filename)
try:
shutil.move(file_path, new_file_path)
print(f"已移动: {filename} -> {folder_name}")
except Exception as e:
print(f"移动 {filename} 失败: {e}")
else:
print(f"跳过未知类型文件: {filename}")
# --- 运行主程序 ---
if __name__ == "__main__":
print("开始整理...")
organize_files(target_dir)
print("整理完成!")
第二步:运行与验证
-
在电脑上创建一个测试文件夹
TestFolder,并在里面随便放几个不同后缀的空文件。 -
修改代码中的
target_dir为你的测试文件夹路径。 -
在VS Code终端中运行:
python organize_files.py。
你将看到终端刷刷地打印出移动日志,打开文件夹,文件已经被整齐地归类了。
【工程视角】为什么要用
os.path.join? 你可能想直接用字符串拼接路径,比如directory + "\\" + filename。 千万别这么做! Windows用反斜杠\,Mac和Linux用斜杠/。使用os.path.join可以让Python自动根据操作系统选择正确的分隔符,保证你的代码在谁的电脑上都能跑。这就是代码的可移植性。
1.6 章节总结
恭喜你,你已经迈出了AI工程师的第一步!
本章我们没有沉溺于语法的海洋,而是直接配置了工业级的 Anaconda + VS Code 环境,理解了 虚拟环境 这一至关重要的工程概念,并通过一个自动化脚本熟悉了Python处理数据的基本逻辑。
不要小看这个整理文件的脚本。在后续的章节中,当我们处理几万张用于训练图像识别模型的图片时,你会发现,今天的代码逻辑将是构建数据加载器(Data Loader) 的基石。
1.7 思考与扩展练习
-
修改练习:目前的脚本如果遇到同名文件会报错或覆盖。请尝试修改代码,如果目标文件夹里已经有了同名文件,就在新文件名后面加上时间戳(例如
image_20231020.jpg)。-
提示:可以使用
import time获取当前时间。
-
-
思考题:为什么我们在处理文件后缀时,要统一使用
.lower()转换为小写?如果不转换会发生什么? -
预习:在下一章,我们将不再一行行处理数据,而是使用强大的 Pandas 库,像Excel一样批量处理成千上万条数据。
更多推荐




所有评论(0)