2222
2323当 Python 运行 ` import sys ` 这一语句时,它会开始寻找 ` sys ` 模块。在这一案例中,由于其是一个内置模块,因此 Python 知道应该在哪里找到它。
2424
25- 如果它不是一个已编译好的模块,即用 Python 编写的模块,那么 Python 解释器将从它的 ` sys.path ` 变量所提供的目录中进行搜索。如果找到了对应模块,则该模块中的语句将开始运行 ,并* 能够* 为你所使用。在这里需要注意的是,初始化工作只需在我们* 第一次* 导入模块时完成。
25+ 如果它不是一个已编译好的模块,即用 Python 编写的模块,那么 Python 解释器将从它的 ` sys.path ` 变量所提供的目录中进行搜索。如果找到了对应模块,则该模块中的语句将在开始运行 ,并* 能够* 为你所使用。在这里需要注意的是,初始化工作只需在我们* 第一次* 导入模块时完成。
2626
2727` sys ` 模块中的 ` argv ` 变量通过使用点号予以指明,也就是 ` sys.argv ` 这样的形式。它清晰地表明了这一名称是 ` sys ` 模块的一部分。这一处理方式的另一个优点是这个名称不会与你程序中的其它任何一个 ` argv ` 变量冲突。
2828
3434
3535在这里要记住的是,运行的脚本名称在 ` sys.argv ` 的列表中总会位列第一。因此,在这一案例中我们将会有如下对应关系:` 'module_using_sys.py' ` 对应 ` sys.argv[0] ` ,` 'we' ` 对应 ` sys.argv[1] ` ,` 'are' ` 对应 ` sys.argv[2] ` ,` 'arguments' ` 对应 ` sys.argv[3] ` 。要注意到 Python 从 0 开始计数,而不是 1。
3636
37- ` sys.path ` 内包括了包含导入模块的字典名称列表 。你能观察到 ` sys.path ` 的第一段字符串是空的——这一空字符串代表当前目录也是 ` sys.path ` 的一部分,它与 ` PYTHONPATH ` 环境变量等同。这意味着你可以直接导入位于当前目录的模块。否则,你必须将你的模块放置在 ` sys.path ` 内所列出的目录中。
37+ ` sys.path ` 内包含了导入模块的字典名称列表 。你能观察到 ` sys.path ` 的第一段字符串是空的——这一空字符串代表当前目录也是 ` sys.path ` 的一部分,它与 ` PYTHONPATH ` 环境变量等同。这意味着你可以直接导入位于当前目录的模块。否则,你必须将你的模块放置在 ` sys.path ` 内所列出的目录中。
3838
3939另外要注意的是当前目录指的是程序启动的目录。你可以通过运行 ` import os; print(os.getcwd()) ` 来查看你的程序目前所处在的目录。
4040
@@ -118,7 +118,7 @@ from mymodule import *
118118<!-- -->
119119
120120> ** Python 之禅**
121- >
121+ >
122122> Python 的一大指导原则是“明了胜过晦涩”[ ^ 2 ] 。你可以通过在 Python 中运行 ` import this ` 来了解更多内容。
123123
124124## ` dir ` 函数 {#dir-function}
@@ -167,7 +167,7 @@ $ python
167167
168168随后,我们以不传递参数的形式使用 ` dir ` 函数。在默认情况下,它将返回当前模块的属性列表。要注意到被导入进来的模块所能生成的列表也会是这一列表的一部分。
169169
170- 给了观察 ` dir ` 函数的操作,我们定义了一个新的变量 ` a ` 并为其赋予了一个值,然后再检查 ` dir ` 返回的结果,我们就能发现,同名列表中出现了一个新的值。我们通过 ` del ` 语句移除了一个变量或是属性,这一变化再次反映在 ` dir ` 函数所处的内容中。
170+ 给了观察 ` dir ` 函数的操作,我们定义了一个新的变量 ` a ` 并为其赋予了一个值,然后在检查 ` dir ` 返回的结果,我们就能发现,同名列表中出现了一个新的值。我们通过 ` del ` 语句移除了一个变量或是属性,这一变化再次反映在 ` dir ` 函数所处的内容中。
171171
172172关于 ` del ` 的一个小小提示——这一语句用于* 删除* 一个变量或名称,当这一语句运行后,在本例中即 ` del a ` ,你便不再能访问变量 ` a ` ——它将如同从未存在过一般。
173173
@@ -181,7 +181,7 @@ $ python
181181
182182包是指一个包含模块与一个特殊的 ` __init__.py ` 文件的文件夹,后者向 Python 表明这一文件夹是特别的,因为其包含了 Python 模块。
183183
184- 假设你想创建一个名为 “world”的包,其中还包含着 ”asia“、”africa“等其它子包,同时这些子包都包含了诸如”india“、”madagascar“等模块。
184+ 建设你想创建一个名为 “world”的包,其中还包含着 ”asia“、”africa“等其它子包,同时这些子包都包含了诸如”india“、”madagascar“等模块。
185185
186186下面是你会构建出的文件夹的结构:
187187
@@ -215,4 +215,4 @@ $ python
215215
216216[ ^ 1 ] : 原文作 Byte-compiled .pyc Files,沈洁元译本译作“字节编译的 .pyc 文件”。
217217
218- [ ^ 2 ] : 原文作 Explicit is better than Implicit,如果使用前面章节出现过的术语概念,也可理解为“显式胜过隐式”。
218+ [ ^ 2 ] : 原文作 Explicit is better than Implicit,如果使用前面章节出现过的术语概念,也可理解为“显式胜过隐式”。
0 commit comments