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 25 Python
Python脚本实现下载合并SAE日志
Feb 10 Python
Python和JavaScript间代码转换的4个工具
Feb 22 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
在python里面运用多继承方法详解
Jul 01 Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
Feb 17 Python
Python解释器以及PyCharm的安装教程图文详解
Feb 26 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 Python
Python使用BeautifulSoup4修改网页内容
May 20 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
建立文件交换功能的脚本(一)
2006/10/09 PHP
PHP用户指南-cookies部分
2006/10/09 PHP
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
JQuery实现的在新窗口打开链接的方法小结
2010/04/22 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
微信小程序picker组件简单用法示例【附demo源码下载】
2017/12/05 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
Promise扫盲贴
2019/06/24 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
Python实现SMTP发送邮件详细教程
2021/03/02 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
对python调用RPC接口的实例详解
2019/01/03 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
全球最大的游戏市场:G2A
2018/07/05 全球购物
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
文秘专业自荐信
2013/10/14 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
写自荐信的注意事项
2014/03/09 职场文书
文明寝室申报材料
2014/05/12 职场文书
体育馆的标语
2014/06/24 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL
vue+iview实现手机号分段输入框
2022/03/25 Vue.js