Python入门到实践:3小时掌握基础语法、数据分析与爬虫 很多初学者看到“3小时入门 Python”“从入门到精通”这类标题第一反应往往是真的可以吗会不会看完还是不会写代码结合个人学习经验3 小时无法把一个人从完全零基础变成数据分析专家但确实可以完成 Python 核心语法扫盲、跑通第一个数据处理脚本、写一个最简单的爬虫程序。本文是一套为“零基础快速上手”准备的实操笔记把 Python 学习路径压缩成三块基础语法、数据分析、网络爬虫。每个部分都配套可复现代码和避坑说明不管你之前有没有编程经验跟着敲一遍就能建立属于自己的 Python 工具箱。1. 为什么零基础学 Python首选这套路径1.1 Python 到底适合哪些人学习Python 是一门解释型、面向对象、动态数据类型的高级编程语言。对零基础用户来说它的优点非常直观语法接近自然语言不需要像 C 或 Java 那样写大量类型声明缩进就能表达代码块结构学习成本比大多数编程语言低。适合学习 Python 的典型人群包括在校学生想提前接触编程为课程设计和竞赛做准备。办公人员希望通过脚本自动处理 Excel、Word、PDF 等重复性工作。数据分析方向的新人需要完成数据清洗、统计分析和简单可视化。测试和运维工程师希望通过脚本提升自动化效率。对爬虫感兴趣想从网站公开页面中获取数据的开发者。换句话说Python 并不是程序员的专属工具它已经成为一种通用的效率工具。这也是为什么很多人学习编程的第一门语言会选择 Python。1.2 为什么“先基础语法再数据分析最后爬虫”是合理顺序很多零基础学习者容易犯一个错误一上来就照着某爬虫案例敲代码连列表和字典都没搞明白遇到报错根本无法定位。基础语法、数据分析、爬虫三部分之间其实是层层递进的关系基础语法解决的是“代码怎么写”的问题包括变量、数据类型、条件判断、循环和函数。数据分析解决的是“拿到了数据之后怎么处理”的问题需要用到列表、字典、文件读写以及第三方库。爬虫解决的是“数据从哪来”的问题虽然表面上是网络请求和 HTML 解析但底层仍然依赖字符串处理、循环遍历、数据存储等基础能力。按照这个路径走你会发现每一部分都在复用前面学过的知识而不是每个案例都从零开始。1.3 如何理解“3 小时快速入门”的合理预期这里需要先给读者打一个预防针3 小时内可以掌握 Python 最核心的语法能够读懂常见代码能够编写小型脚本但这不等于“精通”。真正的 Python 学习曲线并不是一条直线而是螺旋上升的你可能第一天就写出了爬虫脚本但之后遇到反爬、数据清洗、性能优化时才发现基础知识没有吃透。所以本文的定位是“快速入门”不是“速成精通”。你可以通过本文快速建立知识框架后续再针对数据分析或爬虫方向深入钻研。学习编程最重要的不是看完一套教程而是持续地动手写代码、查文档、解决报错。2. Python 环境搭建与开发工具准备2.1 Python 安装与版本选择在开始写代码之前需要先安装 Python 解释器。本文所有示例以 Python 3 为基础因为 Python 2 官方早已停止维护不建议新用户学习。不同的操作系统安装方式略有区别Windows从 Python 官网下载安装包安装时务必勾选“Add Python to PATH”否则命令行无法直接识别 python 命令。macOS可以通过 Homebrew 安装也可以直接从官网下载安装包。Linux大多数发行版自带 Python 3可直接使用包管理器安装。安装完成后在命令行输入以下命令验证版本python --version正常情况下会输出类似结果Python 3.12.4如果你在 Windows 命令提示符中执行 python 提示“不是内部或外部命令”说明安装时没有勾选“Add Python to PATH”需要重新安装或手动配置环境变量。2.2 IDE 与编辑器推荐Python 开发不一定需要重量级 IDE但一个好的编辑器能显著提升编码效率。常见选择如下PyCharm功能最全适合项目开发社区版免费。VS Code轻量且插件丰富配置 Python 环境后非常适合脚本开发。Jupyter Notebook适合数据分析场景可以分段运行代码方便查看中间结果。系统自带文本编辑器仅建议临时使用没有语法高亮和自动补全不适合长期学习。对零基础用户我的建议是第一周优先使用 PyCharm 或 VS Code把代码写在 .py 文件中运行这样能更快熟悉完整的项目流程。做数据分析时再切换到 Jupyter Notebook体验交互式分析的优势。2.3 安装第三方库的基础操作Python 拥有非常丰富的第三方库这些库通常通过 pip 命令安装。安装数据分析常用的 pandas、爬虫常用的 requests 和 beautifulsoup4可以执行pip install requests beautifulsoup4 pandas如果你使用的是国内网络pip 默认源可能速度较慢可以临时切换到清华镜像源pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple安装完成后可以运行以下 Python 代码验证import requests import pandas as pd print(requests 版本:, requests.__version__) print(pandas 版本:, pd.__version__)如果没有任何报错说明环境已经准备好了下一节开始正式学习语法。3. Python 核心语法快速入门3.1 变量与基础数据类型Python 的变量不需要事先声明类型解释器会根据赋值自动判断。这一设计让新手写起来很舒服但也要注意变量名应该尽量有意义不要用 a、b、c 这种难以理解的命名。# 整数 age 20 # 浮点数 price 19.9 # 字符串 name Python # 布尔值 is_student True print(age, price, name, is_student)Python 中的字符串除了可以用双引号也可以用单引号city 北京 print(city)如果把不同类型的数据拼接到一句话中推荐使用 f-string 格式化方式它是 Python 3.6 之后引入的语法可读性很高name 小明 score 92.5 print(f{name} 的考试成绩是 {score} 分)这里需要注意f-string 中的 {} 会被替换为变量的值非常直观。3.2 列表、元组与字典列表是 Python 中最常用的容器可以存放任意类型的数据并且支持修改# 列表 fruits [苹果, 香蕉, 橙子] print(fruits[0]) # 苹果 fruits.append(葡萄) print(fruits)元组和列表类似区别在于元组创建后不可修改# 元组 point (10, 20) print(point[0])字典以“键值对”形式存储数据适合表示有映射关系的信息# 字典 student { name: 小红, age: 18, score: 88.5 } print(student[name]) student[score] 95 print(student)在实际项目里列表和字典通常组合使用。比如一个班级有多个学生可以写成“列表套字典”的结构students [ {name: 小红, age: 18}, {name: 小明, age: 19}, {name: 小刚, age: 20} ] for stu in students: print(stu[name], stu[age])3.3 条件判断与循环条件判断使用 if、elif、else注意每个分支后面的冒号和缩进score 85 if score 90: grade 优秀 elif score 80: grade 良好 elif score 60: grade 及格 else: grade 不及格 print(f成绩等级{grade})循环有两种常见写法for 循环适合遍历已知序列while 循环适合满足条件时重复执行。# for 循环 for i in range(5): print(f当前数字: {i}) # 遍历列表 colors [红, 绿, 蓝] for color in colors: print(color) # while 循环 count 0 while count 3: print(f计数: {count}) count 1新手最常犯的错误是忘记累加条件导致 while 循环变成死循环。在实际项目中for 循环使用频率远高于 while所以建议先把 for 用熟练。3.4 函数的定义与使用函数的作用是封装一段可重复使用的逻辑。定义函数使用 def 关键字def add(a, b): 计算两个数的和 return a b result add(3, 5) print(result) def greet(name, greeting你好): return f{greeting}{name} print(greet(小明)) print(greet(小红, 早上好))代码中的三段双引号字符串是函数的 docstring用于说明函数作用。在实际项目中建议每个函数都写上简单注释方便未来维护。3.5 文件读写基础文件读写是衔接基础语法和数据分析的关键环节。下面是一个写入文件并读取的完整示例# 写入文件 with open(demo.txt, w, encodingutf-8) as f: f.write(第一行\n) f.write(第二行\n) # 读取文件 with open(demo.txt, r, encodingutf-8) as f: content f.read() print(content)这里使用 with ... as 语法可以自动管理文件关闭避免忘记 f.close()。encoding 参数指定为 utf-8 是为了避免中文乱码这是很关键的细节。4. 实战案例一用 Python 完成一份简易学生成绩统计4.1 项目需求分析在学了上面这些语法后如果直接开始学爬虫很多知识会显得抽象。所以我设计了一个小型实战案例已知班上几位学生的语文和数学成绩需要计算每个人的总分和平均分并找出总分最高的学生。这个案例不需要安装任何第三方库只用 Python 内置功能就能完成但能覆盖列表、字典、循环、条件判断、函数、文件读写等核心知识点。4.2 编写成绩统计脚本首先创建项目目录python_quickstart/ ├── score_stats.py └── scores.csv这里的 scores.csv 是一份简单的成绩表姓名,语文,数学 小红,90,85 小明,80,95 小刚,70,75 小丽,88,92接下来编写 score_stats.py# 文件路径python_quickstart/score_stats.py def read_scores(file_path): 读取 CSV 文件返回学生成绩列表 students [] with open(file_path, r, encodingutf-8) as f: lines f.readlines() # 跳过表头 for line in lines[1:]: line line.strip() if not line: continue parts line.split(,) name parts[0] chinese int(parts[1]) math int(parts[2]) students.append({ name: name, chinese: chinese, math: math }) return students def calculate_total(students): 为每个学生计算总分和平均分 for stu in students: stu[total] stu[chinese] stu[math] stu[avg] stu[total] / 2 return students def find_top_student(students): 返回总分最高的学生 top max(students, keylambda x: x[total]) return top if __name__ __main__: data read_scores(scores.csv) data calculate_total(data) print(成绩统计结果) for stu in data: print(f{stu[name]} 总分 {stu[total]} 平均分 {stu[avg]}) top find_top_student(data) print(f\n总分最高的学生是{top[name]}总分为 {top[total]})4.3 运行结果说明在命令行中进入 python_quickstart 目录执行python score_stats.py预期输出为成绩统计结果 小红 总分 175 平均分 87.5 小明 总分 175 平均分 87.5 小刚 总分 145 平均分 72.5 小丽 总分 180 平均分 90.0 总分最高的学生是小丽总分为 180需要注意示例中 max 函数的 key 参数用于指定比较依据lambda x: x[total] 表示取字典中的 total 字段进行比较。如果最高分有并列max 只会返回第一个最大值。4.4 这个案例教会了你什么这个看似简单的脚本包含了几个核心代码设计思想函数拆分。“读取文件”“计算总分”“查找最高分”各司其职。数据结构的组合。用字典表示一个学生用列表表示多个学生。容错思考。代码中 strip() 和空行判断处理了 CSV 文件常见的空白问题。可读性优先。变量名清晰函数有注释方便别人理解。学完基础语法后把这种“读取数据-处理数据-输出结论”的流程练熟练再进入数据分析部分会轻松很多。5. 数据分析入门用 pandas 处理表格数据5.1 为什么数据分析要引入第三方库上一节的成绩统计脚本只用 Python 内置功能就完成了但如果数据量达到几万行列数增加到几十列手写文件读取和统计逻辑就会变得非常低效。pandas 是 Python 数据分析领域最核心的第三方库它提供了一种类 Excel 的 DataFrame 数据结构可以方便地完成筛选、聚合、排序、透视等操作。如果把 Python 基础语法比作手动挡汽车pandas 就是自动挡。你不需要关心每一行数据的读取细节只需要告诉它“我要做什么”它就能快速完成。5.2 pandas 核心操作速览首先确保安装 pandaspip install pandas然后创建一个演示数据文件 sales.csv日期,商品,销量,单价 2025-01-01,苹果,10,5.0 2025-01-01,香蕉,8,3.5 2025-01-02,苹果,15,5.0 2025-01-02,橙子,6,4.0下面代码演示了读取、筛选、分组和计算# 文件路径analysis_demo.py import pandas as pd # 读取 CSV 文件 df pd.read_csv(sales.csv) # 查看前几行 print(数据预览) print(df.head()) print() # 查看整体统计信息 print(统计信息) print(df.describe()) print() # 筛选条件销量大于 8 的记录 print(销量大于 8 的记录) filtered df[df[销量] 8] print(filtered) print() # 按商品分组计算总销量和平均单价 print(商品汇总) grouped df.groupby(商品).agg( 总销量(销量, sum), 平均单价(单价, mean) ) print(grouped)运行结果数据预览 日期 商品 销量 单价 0 2025-01-01 苹果 10 5.0 1 2025-01-01 香蕉 8 3.5 2 2025-01-02 苹果 15 5.0 3 2025-01-02 橙子 6 4.0 统计信息 销量 单价 count 4.000000 4.000000 mean 9.750000 4.375000 std 3.947999 0.629153 min 6.000000 3.500000 25% 7.500000 3.875000 50% 9.000000 4.500000 75% 11.250000 5.000000 max 15.000000 5.000000 销量大于 8 的记录 日期 商品 销量 单价 0 2025-01-01 苹果 10 5.0 2 2025-01-02 苹果 15 5.0 商品汇总 总销量 平均单价 商品 苹果 25 5.0 橙子 6 4.0 香蕉 8 3.55.3 数据清洗的常见操作真实场景中的数据往往有缺失值、重复值和格式问题不能直接拿来分析。下面是一个简单的数据清洗示例import pandas as pd import numpy as np # 构造一个含缺失值和重复值的数据 df pd.DataFrame({ name: [小红, 小明, 小明, None, 小刚], score: [90, 80, 80, 60, None] }) print(原始数据) print(df) # 删除重复行 df df.drop_duplicates() # 删除姓名为空的行 df df.dropna(subset[name]) # 成绩为空时用平均分填充 avg_score df[score].mean() df[score] df[score].fillna(avg_score) print(\n清洗后数据) print(df)很多读者拿到一份脏数据后就开始写复杂循环其实 pandas 已经内置了 drop_duplicates、dropna、fillna 等方法掌握它们远比自己写循环高效。5.4 数据分析方向的学习建议数据分析并不只是写 pandas它还包含数据可视化、统计分析、业务理解等内容。完成 pandas 基础学习后建议继续掌握Matplotlib 和 Seaborn用于绘制折线图、柱状图、热力图。NumPy用于数值计算和数组操作。数据透视表用于多维度汇总分析。常用统计学概念如均值、中位数、标准差、相关性。不过这些内容不建议一次性全学完可以先跟着一个业务案例走下来遇到什么补什么效率更高。6. Python 爬虫入门从网页获取结构化数据6.1 爬虫的工作原理与法律边界很多初学者学习 Python 爬虫是因为好奇认为爬虫是“自动从网上拿数据”的神器。从技术角度看爬虫的基本流程是模拟浏览器发送 HTTP 请求获取网页内容再解析出结构化数据。常用库包括 requests、BeautifulSoup、lxml、Scrapy 等。但在开始写爬虫之前必须强调合规性问题。爬虫只能在获得授权或遵守目标网站 robots 协议的前提下采集公开数据。具体来说遵守目标网站的 robots.txt 协议。控制请求频率不要对服务器造成压力。不采集个人隐私、账号信息等敏感数据。不对数据进行商业滥用。本文示例只演示技术流程使用公开的测试页面请勿将代码用于非法用途。6.2 使用 requests 获取网页requests 是 Python 爬虫最常用的 HTTP 库。下面是一个简单示例使用一个公开测试接口返回 JSON 数据import requests url https://httpbin.org/get response requests.get(url, timeout10) print(状态码:, response.status_code) print(响应内容类型:, response.headers.get(Content-Type)) print(响应文本前200字符:) print(response.text[:200])运行这段代码时应该能看到 200 状态码和一段 JSON 文本。这里需要注意requests.get 的 timeout 参数非常重要它可以防止请求长时间卡住没有响应。6.3 使用 BeautifulSoup 解析 HTML 页面requests 负责把网页内容拿到手BeautifulSoup 负责从 HTML 中提取想要的信息。下面是一个完整示例演示如何解析一个简单 HTML 页面# 文件路径simple_crawler.py import requests from bs4 import BeautifulSoup # 使用公开测试页面 html html body div classbook span classtitlePython 入门教程/span span classprice¥39.0/span /div div classbook span classtitle数据分析实战/span span classprice¥59.0/span /div /body /html soup BeautifulSoup(html, html.parser) books soup.find_all(div, class_book) for book in books: title book.find(span, class_title).text price book.find(span, class_price).text print(f书名: {title}, 价格: {price})实际项目中 HTML 不会写在代码里而是通过 requests 获取然后把 response.text 交给 BeautifulSoup例如response requests.get(url, timeout10) soup BeautifulSoup(response.text, html.parser)6.4 将爬取结果保存到文件爬虫最终需要把数据落盘。常见保存方式有 CSV、JSON 和数据库。下面演示保存到 CSVimport csv import requests from bs4 import BeautifulSoup html html body div classbook span classtitlePython 入门教程/span span classprice¥39.0/span /div div classbook span classtitle数据分析实战/span span classprice¥59.0/span /div /body /html soup BeautifulSoup(html, html.parser) books soup.find_all(div, class_book) with open(books.csv, w, newline, encodingutf-8) as f: writer csv.writer(f) writer.writerow([书名, 价格]) for book in books: title book.find(span, class_title).text price book.find(span, class_price).text writer.writerow([title, price]) print(数据已保存到 books.csv)这里使用 csv 模块写入文件不需要额外安装第三方库。注意 newline 参数是为了防止 Windows 平台在 CSV 中生成多余空行。6.5 爬虫常用反爬应对策略爬虫写起来容易但真正放进生产环境会遇到很多问题。最常见的反爬手段包括User-Agent 检测服务器会检查请求头中的浏览器标识如果识别为爬虫会拒绝响应。IP 频率限制同一个 IP 在短时间内请求过多会被封禁。登录验证需要登录后才能访问的数据爬虫处理复杂度大幅上升。JavaScript 动态渲染部分页面数据由 JS 加载直接 requests 获取不到最终内容。针对 User-Agent 检测最简单的处理是自定义请求头headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36 } response requests.get(url, headersheaders, timeout10)针对请求频率可以在两次请求之间加随机延时import time import random time.sleep(random.uniform(1, 3))要注意加延时不仅是应对反爬更是对目标网站服务器的基本尊重。高频请求会造成服务器压力规模化采集前建议评估数据来源的承载能力。6.6 爬虫学习路线总结爬虫方向的知识梯度大致如下第一次阶段requests 获取网页BeautifulSoup 解析静态 HTML。第二阶段Session 会话维持处理 Cookie爬取需要登录的页面。第三阶段Selenium 或 Playwright 模拟浏览器处理动态渲染页面。第四阶段Scrapy 框架构建分布式爬虫实现调度、去重、管道存储。对于初学者第一和第二阶段已经足够应对大部分入门项目。不建议一开始就上手 Scrapy先把 requests 和 BeautifulSoup 用熟练理解请求、响应、解析的完整链路再学习框架会事半功倍。7. 高频报错与排查思路7.1 常见问题现象与解决方案零基础学习的最大痛点不是不会写而是写完报错不知道怎么改。下面整理了 Python 入门、数据分析和爬虫环节最容易遇到的报错问题现象常见原因解决思路提示“python 不是内部或外部命令”安装时未勾选 Add to PATH重新安装并勾选或手动配置环境变量提示“pip 不是内部或外部命令”Python 安装不完整或环境变量缺失检查安装目录 Scripts 文件夹是否在 PATH 中ModuleNotFoundError: No module named requests第三方库未安装执行 pip install requestsUnicodeDecodeError 或中文乱码文件编码不一致打开文件时指定 encodingutf-8IndentationError: unexpected indent缩进不一致统一使用 4 个空格缩进不用混用 Tab 和空格ConnectionError 或超时网络不稳定或反爬拦截增加 timeout检查网络更换请求头AttributeError: NoneType object has no attribute textBeautifulSoup 未找到指定标签先打印解析结果确认选择器是否正确列表索引越界 IndexError数据长度不符预期打印列表长度检查 split 或索引操作7.2 import 报错排查三步法如果你导入了第三方库但报 ModuleNotFoundError可以按以下顺序排查第一步确认库是否安装成功。pip list | findstr requestsMac/Linux 使用的是pip list | grep requests第二步确认运行环境是否一致。如果你使用 PyCharm 创建了虚拟环境但通过命令行 pip install 安装的库装到了全局环境那么 IDE 内仍然找不到库。解决方式是在 PyCharm 终端中运行 pip install或检查项目解释器路径。第三步确认包名拼写。Python 中安装包名称和导入名称可能不同例如安装 BeautifulSoup 的 pip 包名是 beautifulsoup4导入名称是 bs4它们是同一个东西。7.3 爬虫请求返回 403 的常见处理用 requests 请求某些网站时即使代码逻辑没问题也可能收到 403 状态码表示服务器拒绝访问。这种情况通常有两种原因服务器识别了请求头中的默认 User-Agent把请求判定为爬虫。IP 已经被限流。处理方式是添加常见浏览器请求头降低单次访问频率。如果仍然无效需要评估目标站点是否对数据采集有限制要求必要时停止采集。8. 最佳实践与工程化建议8.1 用虚拟环境隔离项目依赖很多初学者会把所有第三方库直接装到全局环境短期没有问题但多个项目共存时容易出现版本冲突。建议每个 Python 项目都创建独立虚拟环境python -m venv venvWindows 激活虚拟环境venv\Scripts\activateMac/Linux 激活虚拟环境source venv/bin/activate激活后pip install 安装的库只对当前项目生效不会污染全局环境。8.2 固定依赖版本提高可复现性当项目写好后使用 requirements.txt 固定依赖版本方便其他同事或未来的自己重建环境pip freeze requirements.txt在其他环境中安装pip install -r requirements.txt这样做的好处是即使最新版本发布项目依然可以按照 requirements.txt 中记录的版本运行。8.3 爬虫代码的设置与合规建议在爬虫项目中建议把目标 URL、请求头、延时时间等配置统一提取到脚本顶部方便修改。更规范的方式是使用配置文件# config.py HEADERS { User-Agent: Mozilla/5.0 ... } BASE_URL https://example.com DELAY_RANGE (1, 3) OUTPUT_FILE data.csv这样代码可读性更强也避免在多个函数中硬编码 URL。合规方面建议养成先查看目标网站的 robots.txt 的习惯例如访问 https://example.com/robots.txt确认哪些路径允许爬取。8.4 数据分析脚本的可维护性建议数据分析项目通常不是写一次就结束而是需要反复调整。为了维护方便建议遵循以下习惯数据读取、数据清洗、分析计算、结果导出拆分成不同函数或模块。每一步输出中间结果便于定位问题。处理真实数据时先打印 .shape、.info()、.head()从整体上了解数据质量。对清洗规则添加注释后续维护时能快速理解为什么做这个处理。8.5 重视异常处理和日志输出在正式项目中不能让程序遇到一条异常记录就崩溃。比如处理成绩表时如果某一行不是数字int() 会抛 ValueError。处理方式是用 try-except 捕获异常try: chinese int(parts[1]) math int(parts[2]) except ValueError as e: print(f数据格式错误: {line}, 错误信息: {e}) continue爬虫请求也建议加入异常处理try: response requests.get(url, headersheaders, timeout10) response.raise_for_status() except requests.RequestException as e: print(f请求失败: {url}, 错误信息: {e})try-except 的作用不是掩盖错误而是让程序在遇到错误时能继续运行同时输出日志方便排查。9. 下一步学习路线与资源建议9.1 三阶段学习规划如果你已经按照本文代码练习了一遍说明你已经完成了 Python 学习的第一阶段。接下来的路线可以分为三个阶段巩固基础多做代码练习围绕字符串、列表、字典、文件读写编写小工具。选定方向数据分析方向继续学习 NumPy、Matplotlib、Seaborn爬虫方向继续学习 Session、Scrapy 或 Selenium。项目实战找一个小而完整的项目比如爬取公开天气预报数据并生成统计图表把前面所有知识串起来。9.2 关注常见热点技术近几年 Python 领域有几个方向热度很高可以作为进阶参考使用 Jupyter Notebook 做交互式数据分析适合快速探索数据。使用 pandas 配合 Excel 处理日常办公表格很多非程序员也能借助 Python 提升效率。使用 AI 编程工具辅助编写 Python 脚本适合在有经验后作为提效工具不建议零基础时完全依赖。9.3 遇到问题如何高效搜索学习过程中遇到报错不要立刻在交流群里发截图。更好的做法是复制完整报错信息去掉个人文件路径。搜索报错关键字加上 Python 版本号或操作系统。优先查看官方文档和 Stack Overflow。阅读报错信息底部通常那里才是指向问题的真正线索。9.4 保持输出与复盘很多学习者的误区是“只看不练”。如果某个语法看了三遍还是记不住最好的解决办法是用它写一个小程序。可以尝试把本文的成绩统计案例改成统计三科成绩或者把爬虫案例改成解析搜索结果的标题通过改造和扩展才能真正把知识变成自己的。Python 入门不是一门“看会的学问”而是一门“敲会的技能”。如果本文对你有帮助建议收藏备用同时亲手把每个示例运行一遍。这篇文章的价值不在于被读完而在于被实践。祝你在 Python、数据分析和爬虫这条路上顺利跑通属于自己的第一个完整项目。