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提示No module named images的解决方法
Sep 29 Python
Python Socket编程详细介绍
Mar 23 Python
python清理子进程机制剖析
Nov 23 Python
python调用Delphi写的Dll代码示例
Dec 05 Python
Python解决八皇后问题示例
Apr 22 Python
Windows上使用Python增加或删除权限的方法
Apr 24 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
pytorch点乘与叉乘示例讲解
Dec 27 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
python dumps和loads区别详解
Feb 04 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
Matplotlib.pyplot 三维绘图的实现示例
Jul 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
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
2011/11/07 PHP
php取得字符串首字母的方法
2015/03/25 PHP
使用PHP访问RabbitMQ消息队列的方法示例
2018/06/06 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
2013/05/11 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
layui表单验证select下拉框实现验证的方法
2019/09/05 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
python中的__slots__使用示例
2015/02/26 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
python重试装饰器的简单实现方法
2019/01/31 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
Python如何输出百分比
2020/07/31 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
一份创业计划书范文
2014/02/08 职场文书
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
大学生党员自我评价
2015/03/04 职场文书
中秋节主题班会
2015/08/14 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书