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的Django中django-userena组件的简单使用教程
May 30 Python
Python tornado队列示例-一个并发web爬虫代码分享
Jan 09 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
Jul 11 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
Django models.py应用实现过程详解
Jul 29 Python
Python实现二叉搜索树BST的方法示例
Jul 30 Python
python实现对变位词的判断方法
Apr 05 Python
keras 权重保存和权重载入方式
May 21 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
Jun 23 Python
Python2.6版本pip安装步骤解析
Aug 17 Python
Django跨域请求原理及实现代码
Nov 14 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 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
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
微信小程序与公众号卡券/会员打通的问题
2019/07/25 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
Python实现Linux下守护进程的编写方法
2014/08/22 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
spyder常用快捷键(分享)
2017/07/19 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
Python3中的f-Strings增强版字符串格式化方法
2020/03/04 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
期末考试动员演讲稿
2014/01/10 职场文书
宗教学大学生职业生涯规划范文
2014/02/08 职场文书
房展策划方案
2014/06/07 职场文书
起诉意见书范文
2015/05/19 职场文书
法制工作总结2015
2015/07/23 职场文书