WEB开发网
开发学院软件开发Python 探索 Python,第 9 部分: 化零为整 阅读

探索 Python,第 9 部分: 化零为整

 2008-09-30 12:59:07 来源:WEB开发网   
核心提示: 模块:简化代码重用至此,您或许已相信了代码重用的价值,探索 Python,第 9 部分: 化零为整(6),但即便是使用函数,您依然需要在打算使用函数时重新输入函数体,明智地使用 from ... import ... 语法可使您的程序更简洁,但过度的使用也会导致混淆,例如,当您打开一个新的

模块:简化代码重用

至此,您或许已相信了代码重用的价值。但即便是使用函数,您依然需要在打算使用函数时重新输入函数体。例如,当您打开一个新的 Python 解释器时,必须键入之前所创建的所有函数。幸运的是,您可以使用模块 将相关函数(和其他 Python 对象)封装在一起,将其保存在一个文件中,然后将这些已定义好的函数导入到新 Python 代码内,包含于 Python 解释器之中。

为介绍在 Python 中使用模块的方法,我们将重用清单 5 中的 stats 方法。有两个选择:您可以从与本文相关的压缩文件中提取名为 test.py 的文件,也可以在编辑器中键入函数,然后将文件保存为 test.py。完成上一步后,在您保存 test.py 的目录中启动一个新的 Python 解释器,然后输入如清单 6 所示的语句。

清单 6. 使用模块

>>> import test
>>> test.stats([1, 2, 3, 4, 5, 6, 7, 8, 9])
(5.0, 7.5)
>>> from test import stats
>>> (m, v) = stats([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> print m, v
5.0 7.5

第一行 import test 打开文件 test.py 并处理文件中的各条语句。这里仅定义了 stats 函数,但若需要,您还可定义更多的函数。调用 stats 函数时,应以模块名 test 作为函数前缀。之所以使用这种复杂的名称,是出于作用域 方面的考虑,作用域表示一个程序内名称的有效范围。为告知 Python 您要调用的是哪个 stats 方法,就必须提供完整的名称。这一点非常重要,因为您可能拥有多个名称相同的对象。作用域规则可帮助 Python 判断您想使用的对象。

第三行 from test import stats 也打开了文件 test.py,但它隐式地将 stats 方法置入当前文件的作用域内,以使您能够直接调用 stats 函数(无需使用模块名)。明智地使用 from ... import ... 语法可使您的程序更简洁,但过度的使用也会导致混淆,甚至出现更糟糕的作用域冲突错误。不要滥用您的新武器!

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:探索 Python 部分

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接