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 self,cls,decorator的理解
Jul 13 Python
使用python实现strcmp函数功能示例
Mar 25 Python
Python入门篇之条件、循环
Oct 17 Python
python爬取51job中hr的邮箱
May 14 Python
python 网络编程常用代码段
Aug 28 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
Feb 13 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
Django 视图层(view)的使用
Nov 09 Python
python函数声明和调用定义及原理详解
Dec 02 Python
Python持续监听文件变化代码实例
Jul 22 Python
全网非常详细的pytest配置文件
Jul 15 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下用rmdir实现删除目录的三种方法小结
2008/04/20 PHP
php创建多级目录代码
2008/06/05 PHP
PHP 登录记住密码实现思路
2013/05/07 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
Python yield的用法实例分析
2020/03/06 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
python时间time模块处理大全
2020/10/25 Python
python 基于opencv去除图片阴影
2021/01/26 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
学生个人自我鉴定
2014/03/26 职场文书
战友聚会策划方案
2014/06/13 职场文书
社区反邪教工作方案
2014/06/16 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
合作协议书格式
2014/08/19 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
Python使用DFA算法过滤内容敏感词
2022/04/22 Python