词语重复使用了

修改理由:
相关信息:
- 类型:文档文章
- 文章: 模块
- 文档: 《Python 简明教程(2018)》
此投稿已在 6年前 合并。
内容修改:
Old | New | Differences |
---|---|---|
1 | ||
2 | 1 | 模块 |
3 | 2 | --------- |
4 | 3 | … | … |
54 | 53 | |
55 | 54 | 如果使用IDE编写和运行这些程序,请查找在菜单中为程序指定命令行参数的方法。 |
56 | 55 | |
57 | ||
56 | ||
58 | 57 | 当我们执行 `python module_using_sys.py we are arguments` 命令的时候,我们使用 `python` 命令行运行模块 `module_using_sys.py`。后面的字符串 `we are arguments` 被作为参数传递给模块。Python 会把这些参数储存在 `sys.argv` 变量里以供后续使用。 |
59 | 58 | |
60 | 59 | 记住,当前运行的模块名总储存在 `sys.argv` 列表的第一个元素中。所以执行以上语句后,`sys.argv[0]` 中存放着 `'module_using_sys.py'`,`'we'` 放在 `sys.argv[1]`, `'are'` 放在 `sys.argv[2]` 而 `'arguments'` 放在 `sys.argv[3]`。注意到 Python 中,数组索引从 0 开始计数而不是从 1 开始。 | … | … |
62 | 61 | `sys.path` 是模块导入时要搜索的目录列表。我们可以看到 `sys.path` 的第一个字符串是空的,空字符串意味着当前目录也是 `sys.path` 的一部分,这与 `PYTHONPATH` 环境变量是相同的。这意味着你可以直接从当前目录下导入模块。不然你还需要把你要导入的模块放到 `sys.path` 中的一个目录里。 |
63 | 62 | |
64 | 63 | 注意:当前目录指的是你的程序启动的目录。你可以通过执行 `import os; print(os.getcwd())`,来查看你的程序的当前目录。 |
65 | ||
64 | ||
66 | 65 | 字节码文件 .pyc |
67 | 66 | ------------------------ |
68 | 67 | … | … |
85 | 84 | |
86 | 85 | ``` |
87 | 86 | |
88 | ||
87 | ||
89 | 88 | |
90 | 89 | 模块的 `__name__` |
91 | 90 | --------------------- | … | … |
119 | 118 | |
120 | 119 | 每一个 Python 模块都定义了各自的 `__name__`。如果其值为 `'__main__'`,这说明用户正在单独运行这个模块,这时我们可以进行合适的操作 |
121 | 120 | |
122 | ||
121 | ||
123 | 122 | |
124 | 123 | 创建你自己的模块 |
125 | 124 | ----------------------- | … | … |
175 | 174 | |
176 | 175 | `mymodule_demo2.py` 的输出和 `mymodule_demo.py` 是相同的。 |
177 | 176 | |
178 | 需要注意的是,如果 | |
177 | 需要注意的是,如果导入 mymodule 的模块中已经被有一个 `__version__` 名称被声明了的话,那么这里就会产生命名冲突。这种情况是很可能出现的,因为一种常见的实践方式就是对每一个模块都使用这个名称来声明它自己的版本号。因此,尽管 `import` 语句可能会让你的程序代码稍微有点冗长,但是我们更加推荐你使用它。 | |
179 | 178 | |
180 | 179 | 你也可以使用: |
181 | 180 | … | … |
192 | 191 | > |
193 | 192 | > Python 的指导原则之一,就是「显式优于隐式」。你可以运行 `import this` 来了解更多的相关内容。 |
194 | 193 | |
195 | ||
194 | ||
196 | 195 | |
197 | 196 | `dir` 函数 |
198 | 197 | ------------------ | … | … |
246 | 245 | 注意 `dir` 函数 *对任* 何对象都有效。例如:`dir(str)` 会列出 `str` (String) 类的属性。 |
247 | 246 | |
248 | 247 | 还有一个 [`vars()`](http://docs.python.org/3/library/functions.html#vars) 函数,它有时能给你对象的属性和它们的值,但这个函数并不总是有效。 |
249 | ||
248 | ||
250 | 249 | |
251 | 250 | 程序包 |
252 | 251 | -------- | … | … |
278 | 277 | |
279 | 278 | 程序包是分层组织模块的一种简便方式。你会在 [标准库](https://learnku.com/docs/byte-of-python/2018/stdlib) 中找到许多程序包的实例。 |
280 | 279 | |
281 | ||
280 | ||
282 | 281 | |
283 | 282 | 小结 |
284 | 283 | ------- |