Python创建模块及模块导入的方法


Posted in Python onMay 27, 2015

本文实例讲述了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和bb文件夹中分别放置一个__init__.py,之后,在命令行中import aa.bb.a,就可以导入模块a了。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python绑定方法与非绑定方法详解
Aug 18 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
python ChainMap的使用和说明详解
Jun 11 Python
python保存字典和读取字典的实例代码
Jul 07 Python
python使用matplotlib绘制雷达图
Oct 18 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
python3.7.3版本和django2.2.3版本是否可以兼容
Sep 01 Python
python获取命令行参数实例方法讲解
Nov 02 Python
python Timer 类使用介绍
Dec 28 Python
Python基础之变量的相关知识总结
Jun 23 Python
Pandas数据类型之category的用法
Jun 28 Python
Python调用腾讯API实现人脸身份证比对功能
Apr 04 Python
Python类的用法实例浅析
May 27 #Python
Python socket编程实例详解
May 27 #Python
Python简单删除目录下文件以及文件夹的方法
May 27 #Python
python解析xml文件实例分析
May 27 #Python
Python定时执行之Timer用法示例
May 27 #Python
python定时执行指定函数的方法
May 27 #Python
python统计文本字符串里单词出现频率的方法
May 26 #Python
You might like
php cookie的操作实现代码(登录)
2010/12/29 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
PHP连接MySQL的2种方法小结以及防止乱码
2014/03/11 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
vue.js实例todoList项目
2017/07/07 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
详解react-redux插件入门
2018/04/19 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
python编程线性回归代码示例
2017/12/07 Python
python基于ID3思想的决策树
2018/01/03 Python
一道python走迷宫算法题
2018/01/22 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
党支部书记先进事迹
2014/01/17 职场文书
物流管理专业求职信
2014/05/29 职场文书
少先队活动总结
2014/08/29 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
经理助理岗位职责
2015/02/02 职场文书
通知函的格式
2015/04/27 职场文书
世界名著读书笔记
2015/06/25 职场文书
禁毒主题班会教案
2015/08/14 职场文书
学生会干部任命书
2015/09/21 职场文书
优秀员工演讲稿
2019/06/21 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书