-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: 添加脚注渲染支持 * docs(编程模块): 添加Python模块 * fix: 修正文档中的脚注 * feat: 添加脚注渲染支持 * docs(编程模块): 添加Python模块 * fix: 修正文档中的脚注 * fix(编程模块-Python模块): 修复破损链接,修复md格式 * docs: fix all docs --------- Co-authored-by: camera-2018 <40380042+camera-2018@users.noreply.github.com>
- Loading branch information
1 parent
675d26a
commit c0d13e4
Showing
63 changed files
with
6,253 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# 引言 | ||
|
||
欢迎来到 Python 模块 ~(∠・ω< )⌒☆ | ||
|
||
Python是一门很容易上手的胶水语言,它的语法相对简单且上手难度不高,而它丰富的库函数能让你忽略大量的细节,让你能用Python完成一些某些编程语言很难完成的任务。 | ||
它的各种框架以及库函数使其在Web、数据科学、AI等领域应用广泛。未来如果你想做一些AI、数据分析相关的事情,那么Python肯定是你需要接触的东西。 | ||
对于计算机的学生,学校不会专门设置Python的课程,而是会要求你在假期内自学;对于其他专业的同学,学习Python的成本也不高,学习Python,加上合理的使用ChatGPT等工具会大大提高你的效率。 | ||
|
||
Python模块目前暂定了三大块内容: | ||
|
||
1. Python入门语法,当然这块内容大家浅浅看一遍留个印象,在实际学习中还是建议大家多去查手册以及[官方文档](https://docs.python.org/zh-cn/3/tutorial/index.html),手册在大多数情况下是对的, | ||
2. 用Python写的几个有趣的项目(目前还全是爬虫w) | ||
3. 对国外课程CS61A的本土化尝试(低情商:翻译+私货),进度缓慢 | ||
|
||
...暂定的各种其他适合入门的项目,之后也许还会放上AI相关的教程 | ||
|
||
以上。 | ||
|
||
![neoPythonModule](https://socialify.git.ci/Aster-amellus/neoPythonModule/image?description=1&font=Source%20Code%20Pro&forks=1&issues=1&language=1&name=1&owner=1&pattern=Plus&pulls=1&stargazers=1&theme=Dark) | ||
|
||
> 此模块的原始仓库位于 [Github](https://github.com/Aster-amellus/neoPythonModule) | ||
> | ||
> 部分页面原先使用 Jupyter Notebook 撰写,因为 wiki 不支持展示所以做了转换。你可以在上面的仓库中找到原始的 ipynb 文件。 |
3 changes: 3 additions & 0 deletions
3
2.编程模块/2.2 Python 模块/2.2.1 Python Grammar/2.2.1 Python Grammar.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Grammar | ||
|
||
- this part is aiming to talk about the grammar of python in jupyternotebook. |
70 changes: 70 additions & 0 deletions
70
2.编程模块/2.2 Python 模块/2.2.1 Python Grammar/2.2.1.1 Pre-knowledge.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
# Python的前置了解 | ||
|
||
## Python的工作流程和解释器 | ||
|
||
- Python是一种解释型语言,这意味着在执行代码时,Python的解释器会逐行读取并执行代码,而不需要先编译成机器语言。 | ||
- Python使用的主要解释器是CPython,它是用C语言实现的。CPython解释器包括一个编译器和一个虚拟机,编译器将源代码转换成字节码,然后虚拟机会执行这些字节码。这样的处理方式使得Python在易用性和跨平台性方面具有优势,但相对于编译型语言,执行效率可能较低。 | ||
|
||
## Python的基本特性 | ||
|
||
1. 简洁的语法:Python语法相对简洁,注意点少,易于阅读和学习。 | ||
2. 动态类型:Python是动态类型语言,变量在声明时不必显式指定数据类型。这使得在Python中,对变量的使用有更大的自由度。 | ||
3. 广泛的标准库:Python拥有庞大的标准库,覆盖从网络编程到文本处理的各种模块。 | ||
|
||
## 函数与作用域 | ||
|
||
### 函数 | ||
|
||
函数指的是将一些操作抽象成一个封装的指令,看不见内部的具体操作了。通过利用函数,可以让操作复用变得简单,让程序运行结构清晰,而不是一坨操作堆在一起。 | ||
Python中的函数定义使用def关键字。函数可以接受参数,并可返回结果。并且支持默认参数、关键字参数等一些高级功能。 | ||
|
||
### 作用域 | ||
|
||
作用域是对变量的限制,限制了变量可以存在与使用的范围。 | ||
|
||
Python有两种主要的作用域: | ||
|
||
1. 全局作用域。模块级别定义的变量(如创建的对象、全局声明的变量)具有全局作用域。 | ||
2. 局部作用域。函数内定义的变量具有局部作用域,函数结束后大多数情况会被销毁。 | ||
|
||
## 面向对象编程(OOP) | ||
|
||
### 什么是对象? | ||
|
||
许多语言都有面向对象编程的能力,Python也不例外。所谓面向对象,简单来说可以理解为把一个个对象作为程序的基本单元,在对象中定义各种操作。 | ||
|
||
### Python中的对象 | ||
|
||
而这种能力,在Python中尤其突出。在Python中,**一切都是对象**,包括基本数据类型。当然也可以自己定义类(class)来创建自己的对象类型,并在其中封装数据和功能。Python中的类支持继承、封装和多态,这使得复用代码和组织复杂程序变得简单。 | ||
|
||
## Python的环境依赖 | ||
|
||
环境依赖指的是Python项目运行所必需的外部库和模块。这些依赖定义了项目需要哪些外部输入(如代码库或工具)以正常运行。 | ||
|
||
### 环境依赖的重要性 | ||
|
||
- 兼容性保障:确保项目可以在预定的环境或平台上运行,不受不同版本依赖库更新的影响。 | ||
- 安全性:定期更新依赖库可以修补潜在的安全漏洞,增强项目的安全性。 | ||
- 可维护性:清晰的依赖管理可以简化项目的后期维护,尤其是在团队协作和项目转交时。 | ||
|
||
### 管理Python环境依赖的工具 | ||
|
||
1. Pip(不建议直接使用):Python的包安装器,可以从Python包索引(PyPI)安装、升级和移除包。 | ||
2. Pipenv:将Pip和venv(虚拟环境)的功能集于一身,用于创建虚拟环境和管理项目依赖。它自动管理虚拟环境和依赖文件,提供了一种更高级的依赖管理方式。 | ||
3. Poetry:一个用于Python包和依赖管理的工具,它提供了依赖解析、包管理和虚拟环境的完整解决方案。Poetry的设计目标是简化包的发布流程,同时保证项目依赖的严格管理。 | ||
|
||
### 虚拟环境 | ||
|
||
#### 虚拟环境是什么? | ||
|
||
在Python中,虚拟环境是一个独立的目录结构,其中包含了一个Python解释器的副本以及一系列安装的库。虚拟环境可以让不同的项目在各自独立的环境中运行,而不会相互干扰。这意味着每个项目都可以有自己的依赖版本,不受其他项目或系统级安装的影响。 | ||
|
||
#### 为什么虚拟环境很重要? | ||
|
||
- 依赖管理:项目依赖的库可能会随着时间更新版本,新版本的库可能不再向后兼容。使用虚拟环境可以锁定特定版本的库,确保项目的稳定性。 | ||
- 环境隔离:在没有虚拟环境的情况下,所有项目共享同一个Python解释器和库集合。这可能会导致依赖冲突,比如两个项目依赖同一个库但需要不同版本。虚拟环境通过为每个项目创建独立的运行环境,避免了这种冲突。 | ||
- 项目迁移和部署:虚拟环境可以轻松地复制和迁移,这对于确保在不同开发、测试和生产环境中的一致性非常重要。此外,它也简化了部署过程,因为你可以确保所有必要的依赖都会被正确安装。 | ||
|
||
#### 使用虚拟环境 | ||
|
||
Python有多种工具可以创建和管理虚拟环境,最常用的是venv。 |
Oops, something went wrong.