本文实例讲述了Python创建模块及模块导入的方法。分享给大家供大家参考。具体分析如下:
python学习手册中写道:
定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块。
比如说,下面的代码输入到一个文件中,就可以看作是一个模块:
def printme(var): print var if __name__ == '__main__': printme(1)
假设说输入到a.py中,那么import a就可以把这个模块导入。
然后可执行a.printme(3),屏幕即可打印出3:
>>> a.printme(3) 3 >>>
一个模块顶层定义的变量,会自动变成模块的属性。例如:
data=[1,2,3] def printme(var): print var if __name__ == '__main__': printme(1)
data变量就是模块的一个属性。其实printme也是一个属性,只不过是一个函数罢了。
引入模块示例如下:(假定此时data=[1,2,3]未定义)
>>> import a >>> a.data Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> a.data AttributeError: 'module' object has no attribute 'data' >>> reload(a) <module 'a' from 'C:/py\a.pyc'> >>> a.data Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> a.data AttributeError: 'module' object has no attribute 'data' >>>
从上述提示可以看出data属性未定义,此时再在a.py文件中定义data=[1,2,3],重新加载a模块,并输出data属性:
>>> reload(a) <module 'a' from 'C:/py\a.py'> >>> a.data [1, 2, 3] >>>
这里的reload函数可以重新加载一个模块。如果在模块代码中更改了,那么需要重新加载。
上面a.data,就是访问模块中的属性。
上面的例子是导入一个文件作为一个模块。
其实python的模块导入还有更丰富的内容。
除了模块名之外,python也可以导入指定目录路径。python代码的目录就称为包。因此,这类导入就称为包导入。事实上,包导入是把计算机上的目录变成python的一个命名空间。而属性就是目录中包含的子目录或者是模块文件。
看下面例子:
在我的桌面上有一个aa文件夹,里面有bb文件夹,bb里面有a.py这个文件。
那么在aa和bbhtml" target="_blank">文件夹中分别放置一个__init__.py,之后,在命令行中import aa.bb.a,就可以导入模块a了。
希望本文所述对大家的Python程序设计有所帮助。
5.2.1 导入模块及创建根窗口 为了使用 Tkinter 模块中提供的绘图功能,首先要将该模块导入到程序中,就像我们以 前导入 math 模块以使用其中的数学函数、导入 string 模块以使用其中的字符串操作函数一 样。可以用下列两种方式中的任何一种导入 Tkinter: import Tkinter 或者 from Tkinter import * 如我们以前所说,这两种导入方法的差别仅
根据这个答案,您可以使用来使用类似这样的相对导入: 为什么相对导入不适用于sklearn。特征提取。文本 我验证了是一个具有以下功能的模块: 编辑 “不工作”,我的意思是它不导入模块。 我正在使用Python 3.4 绝对方式工作: 相对方式不:
我有一个这样的目录: 我可以这样导入父模块: 那么,既然我已经有了父模块,那么获取子模块的最佳方法是什么?我已经尝试了,,等。 有什么建议吗? 谢谢
主要内容:import 模块名 as 别名,from 模块名 import 成员名 as 别名使Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位于 Python 标准库中的 math(或 cmath)模块中,只需要将此模块导入到当前程序,就可以直接拿来用。 前面章节中,已经看到使用 import 导入模块的语法,但实际上
我需要在Python中导入一个名为array_queue的模块。我检查了一下,如果我不使用它,就会出现一个提示:“array_queue imported but unused”。但是,如果我使用它并运行该程序,则会出现以下情况: ModuleNotFounderRror:没有名为“array_queue”的模块
3.3 Python模块导入 与C++类似的,在Python中导入其他模块时,也需要相关处理。 需求:首先新建一个Python文件A,再创建Python文件UseA,在UseA中导入A并调用A的实现。 实现: 新建两个Python文件,使用 import 实现导入关系; 添加可执行权限、编辑配置文件并执行UseA。 1.新建两个Python文件并使用import导入 文件A实现(包含一个变量):