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采用socket模拟TCP通讯的实现方法
Nov 19 Python
python实现的文件夹清理程序分享
Nov 22 Python
python django 增删改查操作 数据库Mysql
Jul 27 Python
Python中用psycopg2模块操作PostgreSQL方法
Nov 28 Python
python使用RNN实现文本分类
May 24 Python
对python3 中方法各种参数和返回值详解
Dec 15 Python
Python for循环及基础用法详解
Nov 08 Python
Python PyInstaller库基本使用方法分析
Dec 12 Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 Python
keras 获取某层的输入/输出 tensor 尺寸操作
Jun 10 Python
Python基于unittest实现测试用例执行
Nov 25 Python
Python提取PDF指定内容并生成新文件
Jun 09 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
老照片 - 几十年前的收音机与人
2021/03/02 无线电
php修改上传图片尺寸的方法
2015/04/14 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
仿百度输入框智能提示的js代码
2013/08/22 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
jquery滚动条插件(可以自定义)
2016/12/11 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
python将ip地址转换成整数的方法
2015/03/17 Python
python类继承用法实例分析
2015/05/27 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
python贪吃蛇游戏代码
2020/04/18 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
财务总经理岗位职责
2014/02/16 职场文书
2014年防汛工作总结
2014/12/08 职场文书
财务工作个人总结
2015/02/27 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis
Python常遇到的错误和异常
2021/11/02 Python