# python-beginner
**Repository Path**: mashukui/python-beginner
## Basic Information
- **Project Name**: python-beginner
- **Description**: 马哥Python入门私教课|7讲 + 13个视频,零基础从安装到面向对象。含可运行Jupyter课件与PDF,B站同步讲解,MIT开源。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-11-11
- **Last Updated**: 2026-11-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Python, Jupyter-notebook, learning-python, python3, 编程入门
## README
# 马哥Python入门私教课
**7讲 · 13个视频 · 零基础 · 约78分钟**
作者:[马哥python说](https://space.bilibili.com/438486155) | 公众号:老男孩的平凡之路





[📺 B站视频合集](https://www.bilibili.com/video/BV1aK4y1F7g9) | [🌐 马哥的python小屋](https://mgcoding.com) | [📓 Jupyter课件](#课程目录) | [📄 PDF版](#课程目录) | [English](README_EN.md)
---
> 这套课原本是我录制的付费私教课。2023年9月,我把它免费发布在B站;
>
> 现在把 **7 讲 Jupyter 课件 + PDF** 一并开源,希望能帮到更多刚开始学Python的人。
## 这门课是什么
这不是一套“大而全”的 Python教程,只做一件事:**用最短的时间,把Python最核心的语法讲清楚**,让你能看懂、能改、能自己写一些小脚本。
- **7讲**:从“Python是什么”讲到面向对象,覆盖入门阶段最常用的语法。
- **13个视频,约78分钟**:每讲都短小,适合碎片时间看完。
- **课件可运行**:每讲都有 Jupyter Notebook,代码和输出都在,边看边改。
- **零第三方依赖**:示例只使用 Python 标准库,不需要装 pandas、numpy 等任何包。
- **中文讲解**:面向零基础、非科班、自学容易卡住的同学。
课程录制于2023年,环境为 **Python 3.8.5 + PyCharm**;示例语法在 Python 3.8 及以上版本都可以直接运行。
### 学完你将掌握
- Python 的特点、版本历史,以及它到底能做什么
- 数值、字符串、列表、元组、字典、集合六大类型,以及切片、格式化、去重
- `if` 条件判断、`for` / `while` 循环、`break` / `continue`
- 函数定义、参数传递、返回值、匿名函数
- 类、对象、继承、私有属性
- 一套可以继续往数据分析、爬虫、Web、自动化方向走的基础
## 适合谁
| ✅ 适合你,如果…… | ⚠️ 可能不适合,如果…… |
| --- | --- |
| 完全没写过代码,想系统入门 | 已经能熟练写 Python,想学进阶用法 |
| 看过很多碎片教程,但一直没形成体系 | 想直接学爬虫、数据分析、机器学习实战 |
| 需要中文讲解、节奏慢一点的课程 | 只想刷题、不打算动手敲代码 |
| 学生、运营、测试、产品等非科班同学 | 期待“7 讲精通 Python”或速成就业 |
> 这套课的目标是**打好语法基础**,不是把你变成“Python 高手”。真正的提升,来自学完之后持续动手写。
## 课程目录
| 讲 | 主题 | 核心内容 | 视频 | 时长 | 课件 |
| :--: | --- | --- | :--: | ---: | :--: |
| 1 | [Python介绍](notebooks/第1讲-Python介绍.ipynb) | 语言特点、Python 之禅、Python 2/3 历史、8 大应用领域 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=1) | 6:36 | [ipynb](notebooks/第1讲-Python介绍.ipynb) · [PDF](pdf/第1讲-Python介绍.pdf) |
| 2 | [环境搭建](notebooks/第2讲-Python安装及PyCharm安装.ipynb) | 安装 Python 3.8.5、配置 PATH、安装 PyCharm、Hello World | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=2) | 4:02 | [ipynb](notebooks/第2讲-Python安装及PyCharm安装.ipynb) · [PDF](pdf/第2讲-Python安装及PyCharm安装.pdf) |
| 3 | [数据类型](notebooks/第3讲-Python数据类型.ipynb) | 数值、字符串、列表、元组、字典、集合;切片、格式化、集合去重 | [3.1–3.6](https://www.bilibili.com/video/BV1aK4y1F7g9?p=3) | 32:43 | [ipynb](notebooks/第3讲-Python数据类型.ipynb) · [PDF](pdf/第3讲-Python数据类型.pdf) |
| 4 | [条件判断](notebooks/第4讲-Python条件判断.ipynb) | 比较运算符、代码块缩进、6 种 if 句式、边界与分支重叠 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=9) | 8:30 | [ipynb](notebooks/第4讲-Python条件判断.ipynb) · [PDF](pdf/第4讲-Python条件判断.pdf) |
| 5 | [循环语句](notebooks/第5讲-Python循环语句.ipynb) | for / else / break / continue、range、嵌套循环、九九乘法表、while | [5.1–5.2](https://www.bilibili.com/video/BV1aK4y1F7g9?p=10) | 11:11 | [ipynb](notebooks/第5讲-Python循环语句.ipynb) · [PDF](pdf/第5讲-Python循环语句.pdf) |
| 6 | [函数](notebooks/第6讲-Python函数.ipynb) | 无参/有参函数、默认值、关键字传参、单/多返回值、lambda | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=12) | 6:03 | [ipynb](notebooks/第6讲-Python函数.ipynb) · [PDF](pdf/第6讲-Python函数.pdf) |
| 7 | [面向对象](notebooks/第7讲-Python面向对象.ipynb) | 类与实例、属性与方法、单继承、多层继承、多重继承、私有属性 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=13) | 8:30 | [ipynb](notebooks/第7讲-Python面向对象.ipynb) · [PDF](pdf/第7讲-Python面向对象.pdf) |
> B 站合集共 **13 个视频**:第 3 讲按数据类型拆成 6 集,第 5 讲按 for / while 拆成 2 集,其余每讲 1 集。上表的时长是该讲所有分集的总时长。
展开全部 13 个视频分集(含每集时长)
| P | 分集标题 | 时长 | 链接 |
| :--: | --- | ---: | :--: |
| 1 | 第1讲-Python介绍 | 6:36 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=1) |
| 2 | 第2讲-Python安装及Pycharm安装 | 4:02 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=2) |
| 3 | 第3.1讲-Python数据类型-数值 | 2:51 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=3) |
| 4 | 第3.2讲-Python数据类型-字符串 | 11:18 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=4) |
| 5 | 第3.3讲-Python数据类型-列表 | 7:06 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=5) |
| 6 | 第3.4讲-Python数据类型-元组 | 4:42 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=6) |
| 7 | 第3.5讲-Python数据类型-字典 | 3:23 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=7) |
| 8 | 第3.6讲-Python数据类型-集合 | 3:23 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=8) |
| 9 | 第4讲-Python条件判断 | 8:30 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=9) |
| 10 | 第5.1讲-Python循环语句-for循环 | 6:19 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=10) |
| 11 | 第5.2讲-Python循环语句-while循环 | 4:52 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=11) |
| 12 | 第6讲-Python函数 | 6:03 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=12) |
| 13 | 第7讲-Python面向对象 | 8:30 | [观看](https://www.bilibili.com/video/BV1aK4y1F7g9?p=13) |
## 配套学习网站
这套视频课用 7 讲快速建立框架;如果你更喜欢按章节阅读,或者想继续补上异常处理、文件读写、模块与包这些内容,我把入门教程整理成了更完整的图文版,放在 **[马哥的python小屋](https://mgcoding.com)**:
- **7 个章节、25 篇教程**:从 Hello World、变量、循环,讲到函数、文件、模块和面向对象
- **每节都有能直接运行的小例子**,可以和本仓库的 Notebook 配合使用
- 网站内容为中文,适合零基础按顺序学
> 建议用法:先看视频建立整体印象,再去网站按章节读一遍,最后回到 Notebook 自己改代码。
## 5 天学习路线
| 天数 | 内容 | 建议 |
| :--: | --- | --- |
| Day 1 | 第 1–2 讲 | 先把环境装好,跑通 Hello World,约 1.5 小时 |
| Day 2 | 第 3 讲 | 数据类型是重点,边看边敲,约 3 小时 |
| Day 3 | 第 4–5 讲 | 条件 + 循环,自己写几个小练习,约 2.5 小时 |
| Day 4 | 第 6 讲 | 函数,试着把前面的代码封装成函数,约 1.5 小时 |
| Day 5 | 第 7 讲 | 面向对象,并复盘前四天的内容,约 2 小时 |
不用严格按 5 天来,按自己的节奏走即可。**看视频的时间只占一小部分,动手敲才是关键。**
## 仓库结构
```text
python-beginner/
├── notebooks/ # Jupyter 课件,可运行、可修改
│ ├── 第1讲-Python介绍.ipynb
│ ├── 第2讲-Python安装及PyCharm安装.ipynb
│ ├── 第3讲-Python数据类型.ipynb
│ ├── 第4讲-Python条件判断.ipynb
│ ├── 第5讲-Python循环语句.ipynb
│ ├── 第6讲-Python函数.ipynb
│ ├── 第7讲-Python面向对象.ipynb
│ └── img/ # 课件插图,被 ipynb 以相对路径引用
├── pdf/ # 7 讲 PDF,适合打印或在平板上看
├── scripts/
│ └── build_pdf.py # 由 ipynb 重新生成 PDF(维护者用)
├── assets/
│ ├── social-preview.png # GitHub 社交预览图(1280×640)
│ ├── social-preview.html # 预览图源文件
│ └── social/ # X / Facebook / YouTube 配图与发布文案
├── .github/
│ └── ISSUE_TEMPLATE/ # Issue 表单(问题反馈 / 内容建议)
├── README.md
├── README_EN.md
├── LICENSE
├── CHANGELOG.md
├── CONTRIBUTING.md
└── MAINTAINING.md
```
> `notebooks/img/` 里的图片被课件以 `img/xxx.png` 相对路径引用。如果你要移动或重命名课件,请把 `img/` 一起带走,否则图片会显示不出来。
## 快速开始
### 方式一:只想看课件
- 直接点开上表中的 **ipynb**,GitHub 会在浏览器里渲染出文字和代码输出。
- 想打印或离线看,下载对应的 **PDF**。
- 手机、平板上看,PDF 的排版会更舒服。
### 方式二:想运行代码
```bash
# 先 git clone 本仓库(或点 Code → Download ZIP 解压)
cd python-beginner/notebooks # 解压后的目录名可能带 -main 后缀
python3 -m venv .venv
source .venv/bin/activate # Windows 用:.venv\Scripts\activate
pip install notebook
jupyter notebook
```
浏览器会自动打开,点进对应讲次就能逐格运行。已经装过 Jupyter 的话,直接 `jupyter notebook` 即可。
> 不需要安装任何第三方库。课件里只用了 Python 标准库,`notebook` 只是用来打开 `.ipynb` 文件的工具。
### 方式三:在 PyCharm 里跟着敲
1. 用 PyCharm 打开 `notebooks/` 所在的文件夹;
2. 新建一个 `.py` 文件,把课件里的代码敲进去;
3. 右键 Run,或者在命令行执行 `python 文件名.py`。
> 注意:在 Jupyter 里直接写变量名就能看到值,在 PyCharm 里必须用 `print()` 才会输出。这是两种工具的区别,不是代码写错了。
## 环境说明
| 项目 | 说明 |
| --- | --- |
| 录制环境 | Python 3.8.5 + PyCharm(Windows) |
| 当前建议 | Python 3.10 及以上。Python 3.8 已于 2024 年 10 月停止维护 |
| 第三方依赖 | 无,示例只用标准库 |
| 兼容性 | 示例语法在 Python 3.8+ 均可运行,包括 3.12 / 3.13 |
| 课件格式 | nbformat 4.4,Jupyter Notebook / JupyterLab / VS Code 均可打开 |
第 2 讲的截图拍摄于 2021–2023 年,Python 官网和 PyCharm 的下载页后来有过改版,**按钮位置可能和视频里不完全一样**,按“下载对应系统的安装包”这个思路找即可。
## 阅读提示
- 每个代码块上方的注释会说明这段代码在做什么,建议**先自己敲一遍,再看输出**。
- 课件里故意保留了几个错误示例(比如 `if 1 = 1`、默认参数写在非默认参数前面),运行会报错——这是教学的一部分,不是课件坏了。
- 变量名、注释里的中文是为了方便理解;实际项目里建议用英文命名。
- 课件里的输出已经保存,不运行也能看到结果。
- 第 3 讲的代码格子比较多,建议按“数值 → 字符串 → 列表 → 元组 → 字典 → 集合”的顺序看。
## 常见问题
完全没基础,能看懂吗?
可以。这套课就是按“没写过代码”的前提录的,从安装开始讲,不默认你会任何编程语言。遇到不懂的名词,先跟着敲一遍,再回头理解。
需要先装 Anaconda 吗?
不需要。装一个 Python 解释器 + Jupyter Notebook 就够了;想写 `.py` 文件的话再装 PyCharm(免费版即可)。Anaconda 体积较大,入门阶段不是必需品。
课程用 Python 3.8.5,现在还能用吗?
能。课件里的语法在 3.8 及以上版本都通用。如果你是新装环境,建议直接装 3.10 或更高版本;3.8 已经停止维护,不建议再用于新项目。
为什么 Jupyter 里写 a 能出结果,PyCharm 里没反应?
Jupyter 会自动显示最后一个表达式的值,PyCharm 不会。在 `.py` 文件里要写成 `print(a)`。
课件里的图片显示不出来?
确认 `img/` 文件夹和 `.ipynb` 文件在同一层目录下(即 `notebooks/img/`)。如果只单独下载了某个 ipynb,图片会缺失,建议整仓下载。
视频和课件顺序对不上?
B 站合集里第 3 讲拆成了 6 个视频(数值、字符串、列表、元组、字典、集合),第 5 讲拆成了 2 个(for、while),所以是 13 个视频对应 7 讲课件。上表的“视频”列已经标好了每讲从第几 P 开始。
有课后作业吗?
没有单独的作业文件。建议每讲结束后自己加练:第 3 讲把每种类型的方法都敲一遍;第 4–5 讲写一个判断成绩等级、打印乘法表的小程序;第 6 讲把前面的代码封装成函数;第 7 讲试着给“学生 / 课程”建两个类。
可以转载,或者用于公司内训吗?
课件采用 MIT 协议,可以转载、修改,也可以用于内训,保留作者与出处即可。B 站视频的版权归作者所有,不在 MIT 授权范围内,请勿下载、搬运或二次上传。
发现课件有错误怎么办?
欢迎提 [Issue](../../issues/new/choose) 或直接发 PR,注明是哪一讲、哪个代码格。仓库里准备了“内容错误 / 代码问题”和“内容建议 / 改进”两个模板。错别字、代码跑不通、解释不清楚,都算有价值的问题。
学完接下来学什么?
按兴趣选一个方向继续:数据分析(pandas / matplotlib)、爬虫(requests / BeautifulSoup)、Web(Flask / Django)、自动化办公(openpyxl / python-docx)。无论选哪个,先把这套课的语法练熟,会省很多力气。
## 贡献
欢迎一起把这套课打磨得更好:
- 发现错别字、代码错误、链接失效 → 提 [Issue](../../issues/new/choose)
- 想补充例子、优化讲解 → 提 Pull Request
- 提交前请先看 [CONTRIBUTING.md](CONTRIBUTING.md)
不接收:搬运视频、课程倒卖、与课程无关的广告。贡献的内容默认按本仓库的 MIT 协议发布。
## 许可证
除特别注明外,本仓库的文字、代码、Notebook、PDF 和图片均采用 **[MIT License](LICENSE)** 开源。
需要说明的几点:
- **视频不在授权范围内。** B 站视频的版权归作者所有,仅授权在 B 站观看;如需转载、二次上传或商用,请先联系作者。
- **第三方素材。** 课件中的 Python 官网、PyCharm 界面截图仅作教学示意;Python 是 Python Software Foundation 的商标,PyCharm 是 JetBrains 的商标,本课程与二者无隶属关系。
- **免责声明。** 本课程为个人原创课程,非 Python 官方课程。课程内容仅供学习参考,不构成任何就业或收入承诺。
## 联系作者
- **学习网站**:[马哥的python小屋](https://mgcoding.com)
- **B 站**:[马哥python说](https://space.bilibili.com/438486155)
- **公众号**:[老男孩的平凡之路](https://github.com/mashukui/mashukui/blob/main/wechat2.png)
- **问题反馈**:[GitHub Issues](../../issues)
## 致谢
感谢 Python 社区,以及 Tim Peters 写下的 [PEP 20(Python 之禅)](https://peps.python.org/pep-0020/);感谢 JetBrains 提供 PyCharm 社区版;也感谢每一位在 B 站看完课程、留下弹幕和评论的同学。
---
**如果这套课帮你少走了一点弯路,欢迎点个 ⭐ Star,或分享给正在学Python的朋友。**