Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
后端镜像
Python Guide
提交
9c029eb1
P
Python Guide
项目概览
后端镜像
/
Python Guide
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Python Guide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9c029eb1
编写于
6月 07, 2021
作者:
写代码的明哥
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加换行符以兼容 pdf 生成脚本
上级
986f05ef
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
25 addition
and
12 deletion
+25
-12
source/c01/c01_03.md
source/c01/c01_03.md
+2
-1
source/c02/c02_07.md
source/c02/c02_07.md
+2
-1
source/c07/c07_11.md
source/c07/c07_11.md
+1
-0
source/c08/c08_10.md
source/c08/c08_10.md
+8
-5
source/c08/c08_11.md
source/c08/c08_11.md
+2
-1
source/c08/c08_17.md
source/c08/c08_17.md
+2
-1
source/c09/c09_09.md
source/c09/c09_09.md
+2
-1
source/c10/c10_11.md
source/c10/c10_11.md
+3
-0
source/c11/c11_07.md
source/c11/c11_07.md
+2
-1
source/c12/c12_06.md
source/c12/c12_06.md
+1
-1
未找到文件。
source/c01/c01_03.md
浏览文件 @
9c029eb1
...
@@ -35,4 +35,5 @@ Python 程序的执行分为两种:
...
@@ -35,4 +35,5 @@ Python 程序的执行分为两种:
## 3. 重要提示
## 3. 重要提示
1.
在后面学习 Python 基础的时候,我在演示案例的时候,都会使用第一种方法(代码框里最前面会有
`>>>`
标识),请你注意,后面不再提及。
1.
在后面学习 Python 基础的时候,我在演示案例的时候,都会使用第一种方法(代码框里最前面会有
`>>>`
标识),请你注意,后面不再提及。
2.
实际上不管你使用哪个编辑器和 IDE 执行 Python 文件,它们的本质都是采用的第二种方法,因此这里很有必要向你介绍。
2.
实际上不管你使用哪个编辑器和 IDE 执行 Python 文件,它们的本质都是采用的第二种方法,因此这里很有必要向你介绍。
\ No newline at end of file
source/c02/c02_07.md
浏览文件 @
9c029eb1
...
@@ -311,4 +311,5 @@ False
...
@@ -311,4 +311,5 @@ False
1.
30
*
2 = 60
1.
30
*
2 = 60
2.
60/5 = 12.0
2.
60/5 = 12.0
3.
20 + 12.0 = 32.0
3.
20 + 12.0 = 32.0
\ No newline at end of file
source/c07/c07_11.md
浏览文件 @
9c029eb1
...
@@ -584,3 +584,4 @@ class Student:
...
@@ -584,3 +584,4 @@ class Student:
## 参考文档
## 参考文档
-
[
Python描述器引导(翻译)
](
https://pyzh.readthedocs.io/en/latest/Descriptor-HOW-TO-Guide.html#python
)
-
[
Python描述器引导(翻译)
](
https://pyzh.readthedocs.io/en/latest/Descriptor-HOW-TO-Guide.html#python
)
source/c08/c08_10.md
浏览文件 @
9c029eb1
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
1.
由查找器实现的模块查找
1.
由查找器实现的模块查找
2.
由加载器实现的模块加载
2.
由加载器实现的模块加载
##
#
4.1 查找器是什么?
## 4.1 查找器是什么?
查找器(finder),简单点说,查找器定义了一个模块查找机制,让程序知道该如何找到对应的模块。
查找器(finder),简单点说,查找器定义了一个模块查找机制,让程序知道该如何找到对应的模块。
...
@@ -75,7 +75,7 @@ object
...
@@ -75,7 +75,7 @@ object
而关于什么是 加载器 和 模块规格说明, 请继续往后看。
而关于什么是 加载器 和 模块规格说明, 请继续往后看。
##
#
4.2 加载器是什么?
## 4.2 加载器是什么?
查找器只负责查找定位找模,而真正负责加载模块的,是加载器(loader)。
查找器只负责查找定位找模,而真正负责加载模块的,是加载器(loader)。
...
@@ -116,7 +116,7 @@ object
...
@@ -116,7 +116,7 @@ object
若你想看具体的例子,可以接着往后看。
若你想看具体的例子,可以接着往后看。
##
#
4.3 模块规格说明
## 4.3 模块规格说明
导入机制在导入期间会使用有关每个模块的多种信息,特别是加载之前。 大多数信息都是所有模块通用的。 模块规格说明的目的是基于每个模块来封装这些导入相关信息。
导入机制在导入期间会使用有关每个模块的多种信息,特别是加载之前。 大多数信息都是所有模块通用的。 模块规格说明的目的是基于每个模块来封装这些导入相关信息。
...
@@ -187,8 +187,11 @@ ming
...
@@ -187,8 +187,11 @@ ming
##
#
4.4 导入器是什么?
## 4.4 导入器是什么?
导入器(importer),也许你在其他文章里会见到它,但其实它并不是个新鲜的东西。
导入器(importer),也许你在其他文章里会见到它,但其实它并不是个新鲜的东西。
它只是同时实现了查找器和加载器两种接口的对象,所以你可以说导入器(importer)是查找器(finder),也可以说它是加载器(loader)。
它只是同时实现了查找器和加载器两种接口的对象,所以你可以说导入器(importer)是查找器(finder),也可以说它是加载器(loader)。
\ No newline at end of file
https://iswbm.com
source/c08/c08_11.md
浏览文件 @
9c029eb1
...
@@ -252,4 +252,5 @@ ok
...
@@ -252,4 +252,5 @@ ok
'wangbm'
'wangbm'
```
```
至此,我实现了一个简易的可以导入远程服务器上的模块的导入器。
至此,我实现了一个简易的可以导入远程服务器上的模块的导入器。
\ No newline at end of file
source/c08/c08_17.md
浏览文件 @
9c029eb1
...
@@ -27,4 +27,5 @@ $ python setup.py register
...
@@ -27,4 +27,5 @@ $ python setup.py register
$
python setup.py upload
$
python setup.py upload
```
```
或者也可以使用
`twine`
工具注册上传,它是一个专门用于与 pypi 进行交互的工具,详情可以参考官网:https://www.ctolib.com/twine.html,这里不详细讲了。
或者也可以使用
`twine`
工具注册上传,它是一个专门用于与 pypi 进行交互的工具,详情可以参考官网:https://www.ctolib.com/twine.html,这里不详细讲了。
\ No newline at end of file
source/c09/c09_09.md
浏览文件 @
9c029eb1
...
@@ -73,4 +73,5 @@ TypeError: unsupported operand type(s) for +=: 'int' and 'str'
...
@@ -73,4 +73,5 @@ TypeError: unsupported operand type(s) for +=: 'int' and 'str'
综上所述,今天 给大家介绍了两种新的 pdb 调试入口:
综上所述,今天 给大家介绍了两种新的 pdb 调试入口:
1.
`pdb.pm()`
:在出错后直接切换到调试模式,并定位到报错位置。 --
**今天的重点**
1.
`pdb.pm()`
:在出错后直接切换到调试模式,并定位到报错位置。 --
**今天的重点**
2.
`pdb.runcall()`
:可以在不设置断点的情况下,直接调试代码片段。
2.
`pdb.runcall()`
:可以在不设置断点的情况下,直接调试代码片段。
\ No newline at end of file
source/c10/c10_11.md
浏览文件 @
9c029eb1
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
如何实现呢,有两种方法:
如何实现呢,有两种方法:
-
主线程是同步的
-
主线程是同步的
```
python
```
python
import
time
import
time
import
asyncio
import
asyncio
...
@@ -52,6 +53,8 @@ Thu May 31 22:11:25 2018
...
@@ -52,6 +53,8 @@ Thu May 31 22:11:25 2018
```
```
-
主线程是异步的,这是重点,一定要掌握。。
-
主线程是异步的,这是重点,一定要掌握。。
```
python
```
python
import
time
import
time
import
asyncio
import
asyncio
...
...
source/c11/c11_07.md
浏览文件 @
9c029eb1
...
@@ -33,4 +33,5 @@ Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*
...
@@ -33,4 +33,5 @@ Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*
![](
http://image.iswbm.com/20190324111603.png
)
![](
http://image.iswbm.com/20190324111603.png
)
你可能会说,Pycharm 本身就自带这个功能了呀,快捷键
`Command`
+
`Option`
+
`L`
,就可以实现一键pep8了。你可以对比一下,Pycharm 自带的代码 pep8 化功能 并没有像这个
`autopep8`
来得彻底。 我相信你最终的选择肯定是后者。
你可能会说,Pycharm 本身就自带这个功能了呀,快捷键
`Command`
+
`Option`
+
`L`
,就可以实现一键pep8了。你可以对比一下,Pycharm 自带的代码 pep8 化功能 并没有像这个
`autopep8`
来得彻底。 我相信你最终的选择肯定是后者。
\ No newline at end of file
source/c12/c12_06.md
浏览文件 @
9c029eb1
...
@@ -82,4 +82,4 @@ $ deactivate
...
@@ -82,4 +82,4 @@ $ deactivate
## 4. 总结一下
## 4. 总结一下
`venv`
是 Python3 中自带的虚拟环境管理工具,不需要额外安装,功能简单,用法也简单。但是它不能像 poetry 和 pipenv 用于项目的管理,因此 venv 建议只做了解,在一些简单的场景中可以使用,如果是复杂的项目中,可以直接上 poetry 和 pipenv。
`venv`
是 Python3 中自带的虚拟环境管理工具,不需要额外安装,功能简单,用法也简单。但是它不能像 poetry 和 pipenv 用于项目的管理,因此 venv 建议只做了解,在一些简单的场景中可以使用,如果是复杂的项目中,可以直接上 poetry 和 pipenv。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录