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 相关文章推荐
Pycharm远程调试openstack的方法
Nov 21 Python
利用python为运维人员写一个监控脚本
Mar 25 Python
numpy.transpose对三维数组的转置方法
Apr 17 Python
python Flask 装饰器顺序问题解决
Aug 08 Python
使用python对excle和json互相转换的示例
Oct 23 Python
python中partial()基础用法说明
Dec 30 Python
谈一谈基于python的面向对象编程基础
May 21 Python
python 读取数据库并绘图的实例
Dec 03 Python
Python求两个字符串最长公共子序列代码实例
Mar 05 Python
Python jieba库分词模式实例用法
Jan 13 Python
用python删除文件夹中的重复图片(图片去重)
May 12 Python
python中pandas对多列进行分组统计的实现
Jun 18 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
php实现字符串翻转的方法
2015/03/27 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
python文件操作之目录遍历实例分析
2015/05/20 Python
利用Python实现网络测试的脚本分享
2017/05/26 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
python对一个数向上取整的实例方法
2020/06/18 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
私有程序集与共享程序集有什么区别
2013/04/05 面试题
客户经理竞聘演讲稿
2014/05/15 职场文书
终止劳动合同通知书
2015/04/16 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书