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 调用VC++的动态链接库(DLL)
Sep 06 Python
python实现马耳可夫链算法实例分析
May 20 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
浅谈python socket函数中,send与sendall的区别与使用方法
May 09 Python
Python实现的统计文章单词次数功能示例
Jul 08 Python
解决python flask中config配置管理的问题
Jul 26 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
python访问hdfs的操作
Jun 06 Python
python打开文件的方式有哪些
Jun 29 Python
Python存储读取HDF5文件代码解析
Nov 25 Python
用python删除文件夹中的重复图片(图片去重)
May 12 Python
python中的getter与setter你了解吗
Mar 24 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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
百度地图API使用方法详解
2015/08/25 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
python生成n个元素的全组合方法
2018/11/13 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
python 有效的括号的实现代码示例
2019/11/11 Python
python实现XML解析的方法解析
2019/11/16 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
大学生党课思想汇报
2013/12/29 职场文书
五一服装活动方案
2014/01/11 职场文书
工程售后服务承诺书
2014/05/21 职场文书
大明湖导游词
2015/02/03 职场文书
董事长开业致辞
2015/07/29 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
离婚协议书格式范本
2016/03/18 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android
idea下配置tomcat避坑详解
2022/04/12 Servers