python进阶教程之模块(module)介绍


Posted in Python onAugust 30, 2014

我们之前看到了函数和对象。从本质上来说,它们都是为了更好的组织已经有的程序,以方便重复利用。

模块(module)也是为了同样的目的。在Python中,一个.py文件就构成一个模块。通过模块,你可以调用其它文件中的程序。

引入模块

我们先写一个first.py文件,内容如下:

def laugh():

    print 'HaHaHaHa'

再写一个second.py,并引入first中的程序:

import first
for i in range(10):

    first.laugh()

在second.py中,我们使用了first.py中定义的laugh()函数。

引入模块后,可以通过模块.对象的方式来调用引入模块中的某个对象。上面例子中,first为引入的模块,laugh()是我们所引入的对象。

Python中还有其它的引入方式

import a as b             # 引入模块a,并将模块a重命名为b
from a import function1   # 从模块a中引入function1对象。调用a中对象时,我们不用再说明模块,即直接使用function1,而不是a.function1。
from a import *           # 从模块a中引入所有对象。调用a中对象时,我们不用再说明模块,即直接使用对象,而不是a.对象。

这些引用方式,可以方便后面的程序书写。

搜索路径

Python会在以下路径中搜索它想要寻找的模块:

程序所在的文件夹
标准库的安装路径
操作系统环境变量PYTHONPATH所包含的路径

如果你有自定义的模块,或者下载的模块,可以根据情况放在相应的路径,以便Python可以找到。

模块包

可以将功能相似的模块放在同一个文件夹(比如说this_dir)中,构成一个模块包。通过

import this_dir.module

引入this_dir文件夹中的module模块。

该文件夹中必须包含一个__init__.py的文件,提醒Python,该文件夹为一个模块包。__init__.py可以是一个空文件。

总结

import module

module.object

__init__.py

Python 相关文章推荐
浅析python 中__name__ = '__main__' 的作用
Jul 05 Python
Python中类的继承代码实例
Oct 28 Python
轻松实现TensorFlow微信跳一跳的AI
Jan 05 Python
Python对多属性的重复数据去重实例
Apr 18 Python
python+opencv实现霍夫变换检测直线
Oct 23 Python
对Python3 序列解包详解
Feb 16 Python
Python3之手动创建迭代器的实例代码
May 22 Python
python将字符串转换成json的方法小结
Jul 09 Python
python计算n的阶乘的方法代码
Oct 25 Python
python使用rsa非对称加密过程解析
Dec 28 Python
Python 使用office365邮箱的示例
Oct 29 Python
Python爬虫入门案例之回车桌面壁纸网美女图片采集
Oct 16 Python
Python中的闭包实例详解
Aug 29 #Python
python进阶教程之文本文件的读取和写入
Aug 29 #Python
Python中__call__用法实例
Aug 29 #Python
python进阶教程之词典、字典、dict
Aug 29 #Python
python字符串排序方法
Aug 29 #Python
python基础教程之对象和类的实际运用
Aug 29 #Python
python基础教程之面向对象的一些概念
Aug 29 #Python
You might like
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
JQuery 写的个性导航菜单
2009/12/24 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
vue的diff算法知识点总结
2018/03/29 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
基于python时间处理方法(详解)
2017/08/14 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
深入浅析python 中的匿名函数
2018/05/21 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
工商管理本科毕业生求职信范文
2013/10/05 职场文书
寄语学生的话
2014/04/10 职场文书
企业形象策划方案
2014/05/29 职场文书
购房意向书
2014/08/30 职场文书
酒店前台辞职书
2015/02/26 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB