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私有属性和方法实例分析
Jan 15 Python
python计算一个序列的平均值的方法
Jul 11 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
Python的GUI框架PySide的安装配置教程
Feb 16 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
详解Python with/as使用说明
Dec 13 Python
python实现udp传输图片功能
Mar 20 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
Django 解决distinct无法去除重复数据的问题
May 20 Python
Python多线程正确用法实例解析
May 30 Python
Python中zipfile压缩包模块的使用
May 14 Python
pytorch锁死在dataloader(训练时卡死)
May 28 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
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
php注销代码(session注销)
2012/05/31 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
jquery下json数组的操作实现代码
2010/08/09 Javascript
js自定义事件代码说明
2011/01/31 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python3实现从指定路径查找文件的方法
2015/05/22 Python
Python 基于Twisted框架的文件夹网络传输源码
2016/08/28 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
简单实现python画圆功能
2018/01/25 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
公司委托书格式范本
2014/09/16 职场文书
公务员考察材料
2014/12/23 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python
redis缓存存储Session原理机制
2021/11/20 Redis
四十九个javascript小知识实用技巧
2021/11/20 Javascript