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每次处理固定个数的字符的方法总结
Jan 29 Python
Python实现的一个找零钱的小程序代码分享
Aug 25 Python
python3实现短网址和数字相互转换的方法
Apr 28 Python
python基于phantomjs实现导入图片
May 13 Python
浅谈Python基础之I/O模型
May 11 Python
Python编程之黑板上排列组合,你舍得解开吗
Oct 30 Python
详解appium+python 启动一个app步骤
Dec 20 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
Nov 29 Python
实例讲解Python脚本成为Windows中运行的exe文件
Jan 24 Python
python制作抖音代码舞
Apr 07 Python
Python3 用什么IDE开发工具比较好
Nov 28 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
Nov 30 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
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
Jquery练习之表单验证实现代码
2010/12/14 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
2016/08/03 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
对Python 数组的切片操作详解
2018/07/02 Python
Python 一句话生成字母表的方法
2019/01/02 Python
Python的几种主动结束程序方式
2019/11/22 Python
NumPy中的维度Axis详解
2019/11/26 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
python可视化text()函数使用详解
2020/02/11 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
玩具反斗城西班牙网上商城:ToysRUs西班牙
2017/01/19 全球购物
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
linux面试题参考答案(5)
2014/09/01 面试题
高三生物教学反思
2014/01/25 职场文书
委托书的写法
2014/09/16 职场文书
故宫的导游词
2015/01/31 职场文书
毕业典礼主持词
2015/06/29 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
Python time库的时间时钟处理
2021/05/02 Python
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server