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合并文本文件示例
Feb 07 Python
详细解析Python当中的数据类型和变量
Apr 25 Python
Python2.x版本中cmp()方法的使用教程
May 14 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
python如何将两个txt文件内容合并
Oct 18 Python
tensorflow之并行读入数据详解
Feb 05 Python
Python爬取阿拉丁统计信息过程图解
May 12 Python
python实现图片,视频人脸识别(opencv版)
Nov 18 Python
Python中Permission denied的解决方案
Apr 02 Python
python+opencv实现目标跟踪过程
Jun 21 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
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
JavaScript 判断指定字符串是否为有效数字
2010/05/11 Javascript
javascript 获取模态窗口的滚动位置代码
2013/08/06 Javascript
JS的get和set使用示例
2014/02/20 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
javascript时间差插件分享
2016/07/18 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
简述Python中的面向对象编程的概念
2015/04/27 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
Python笔记之代理模式
2019/11/20 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
基于Python的OCR实现示例
2020/04/03 Python
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
大专应届生个人的自我评价
2013/11/21 职场文书
国贸专业个人求职信范文
2014/01/08 职场文书
父亲节寄语大全
2015/02/27 职场文书
员工离职证明范本
2015/06/12 职场文书
小学语文国培研修日志
2015/11/13 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
CSS中Single Div 绘图技巧的实现
2021/06/18 HTML / CSS
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技
python绘制云雨图raincloud plot
2022/08/05 Python