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框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
python爬虫的工作原理
Mar 05 Python
python 遍历字符串(含汉字)实例详解
Apr 04 Python
python Spyder界面无法打开的解决方法
Apr 27 Python
Python中按键来获取指定的值
Mar 02 Python
Python qqbot 实现qq机器人的示例代码
Jul 11 Python
Python-copy()与deepcopy()区别详解
Jul 12 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
python之array赋值技巧分享
Nov 28 Python
python的help函数如何使用
Jun 11 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
PyTorch dropout设置训练和测试模式的实现
May 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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
解析PHP中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
php-msf源码详解
2017/12/25 PHP
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
JS打开新窗口的2种方式
2013/04/18 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
详解JS预解析原理
2020/06/16 Javascript
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
Python基本socket通信控制操作示例
2019/01/30 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
农场厂长岗位职责
2013/12/28 职场文书
检察官就职演讲稿
2014/01/13 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
优秀家长自荐材料
2014/08/26 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
国王的演讲观后感
2015/06/03 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
Elasticsearch 批量操作
2022/04/19 Python
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android