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 相关文章推荐
深入理解Javascript中的this关键字
Mar 27 Python
Python编程中的文件读写及相关的文件对象方法讲解
Jan 19 Python
Python3.5文件读与写操作经典实例详解
May 01 Python
django连接oracle时setting 配置方法
Aug 29 Python
python 魔法函数实例及解析
Sep 25 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
Python模块 _winreg操作注册表
Feb 05 Python
python一些性能分析的技巧
Aug 30 Python
解决python 输出到csv 出现多空行的情况
Mar 24 Python
Python使用UDP实现720p视频传输的操作
Apr 24 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 20 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
php中apc缓存使用示例
2013/12/25 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
jquery异步请求实例代码
2011/06/21 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
详解javascript replace高级用法
2019/02/17 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
python如何读写csv数据
2018/03/21 Python
python批量导入数据进Elasticsearch的实例
2018/05/30 Python
python实现随机漫步算法
2018/08/27 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
python 基于opencv操作摄像头
2020/12/24 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
期末考试动员演讲稿
2014/01/10 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
中国好声音广告词
2014/03/18 职场文书
小学毕业演讲稿
2014/04/25 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书