Python如何创建一个模块?以及模块导入
2013-03-05 10:41
218 查看
昨天面试空管局的时候遇到了这个问题。当时回答的不是很理想。现在整理一下。
python学习手册中写道:
定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块。
比如说,下面的代码输入到一个文件中,就可以看作是一个模块:
假设说输入到a.py中,那么import a就可以把这个模块导入。
然后可执行a.printme(3),屏幕即可打印出3。
----------------------------------------------------------------------------
一个模块顶层定义的变量,会自动变成模块的属性。例如:
data变量就是模块的一个属性。其实printme也是一个属性,只不过是一个函数罢了。
reload函数可以重新加载一个模块。如果在模块代码中更改了,那么需要重新加载。
上面a.data,就是访问模块中的属性。
--------------------------------
上面的例子是导入一个文件作为一个模块。
其实python的模块导入还有更丰富的内容。
除了模块名之外,python也可以导入指定目录路径。python代码的目录就称为包。因此,这类导入就称为包导入。事实上,包导入是把计算机上的目录变成python的一个命名空间。而属性就是目录中包含的子目录或者是模块文件。
看下面例子:
在我的桌面上有一个aa文件夹,里面有bb文件夹,bb里面有a.py这个文件。
那么在aa和bb文件夹中分别放置一个__init__.py,之后,在命令行中import aa.bb.a,就可以导入模块a了。
python学习手册中写道:
定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块。
比如说,下面的代码输入到一个文件中,就可以看作是一个模块:
def printme(var): print var if __name__ == '__main__': printme(1)
假设说输入到a.py中,那么import a就可以把这个模块导入。
然后可执行a.printme(3),屏幕即可打印出3。
----------------------------------------------------------------------------
一个模块顶层定义的变量,会自动变成模块的属性。例如:
data=[1,2,3] def printme(var): print var if __name__ == '__main__': printme(1)
data变量就是模块的一个属性。其实printme也是一个属性,只不过是一个函数罢了。
reload函数可以重新加载一个模块。如果在模块代码中更改了,那么需要重新加载。
上面a.data,就是访问模块中的属性。
--------------------------------
上面的例子是导入一个文件作为一个模块。
其实python的模块导入还有更丰富的内容。
除了模块名之外,python也可以导入指定目录路径。python代码的目录就称为包。因此,这类导入就称为包导入。事实上,包导入是把计算机上的目录变成python的一个命名空间。而属性就是目录中包含的子目录或者是模块文件。
看下面例子:
在我的桌面上有一个aa文件夹,里面有bb文件夹,bb里面有a.py这个文件。
那么在aa和bb文件夹中分别放置一个__init__.py,之后,在命令行中import aa.bb.a,就可以导入模块a了。
相关文章推荐
- Python基础语法以及在windows下如何导入模块
- python如何能得到一个被导入模块的路径
- Python3基础 创建一个模块 导入并调用其中的函数 主代码与模块代码在同一文件夹下
- Python 中 一个模块文件导入操作:import 和 from ,以及reload调用
- 如何用在python中迭代一个列表以及字典的索引和值?
- python模块以及导入出现ImportError: No module named 'xxx'问题
- javascript如何创建一个对象以及语言特点
- CovertUtils:一个用于设计和创建后门的Python模块
- python项目包和文件的管理以及如何引用相对路径的包和模块
- 如何在Node.js中使用npm创建和发布一个模块
- JAVA动态模块的设计实现以及如何通过newInstance()来创建带参的构造类实例
- Android Studio 中如何创建一个新的工程以及库文件的创建以及引用
- Python编程-基础知识-python项目包和文件的管理以及如何引用相对路径的包和模块
- 如何用 Python 从 0 开始创建一个区块链?
- Python如何导入非.py扩展名的第三方模块文件。
- [转]几个python 入门程序--例2( 如何将多个模块打包成一个模块)
- oracle导入导出,如何创建一个账户,并在这个账户中导入导出表
- python实例1:创建一个登陆模块
- Python如何导入自定义模块
- 一个诡异的BUG: Python导入的模块运行过程中变成了None