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使用urllib2模块获取gravatar头像实例
Dec 18 Python
Python中for循环详解
Jan 17 Python
Python中优化NumPy包使用性能的教程
Apr 23 Python
关于Python中Inf与Nan的判断问题详解
Feb 08 Python
Sanic框架安装与简单入门示例
Jul 16 Python
Python基本socket通信控制操作示例
Jan 30 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
Python实现的爬取豆瓣电影信息功能案例
Sep 15 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
Python 使用双重循环打印图形菱形操作
Aug 09 Python
Python中logging日志的四个等级和使用
Nov 17 Python
python turtle绘图
May 04 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分页实例代码分享
2011/07/28 PHP
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP中多线程的两个实现方法
2016/10/14 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
简约JS日历控件 实例代码
2013/07/12 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
如何高效使用Python字典的方法详解
2017/08/31 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
2017/11/06 Python
python之从文件读取数据到list的实例讲解
2018/04/19 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
python中列表的含义及用法
2020/05/26 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
《唯一的听众》教学反思
2014/02/20 职场文书
“学雷锋活动月”总结
2014/03/09 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
毕业证明模板
2015/06/19 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
Django路由层如何获取正确的url
2021/07/15 Python
golang定时器
2022/04/14 Golang