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客户端和服务端简单示例
Feb 24 Python
一个小示例告诉你Python语言的优雅之处
Jul 04 Python
浅谈插入排序算法在Python程序中的实现及简单改进
May 04 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
Nov 06 Python
python里 super类的工作原理详解
Jun 19 Python
python实现最大优先队列
Aug 29 Python
使用Python实现牛顿法求极值
Feb 10 Python
Python如何安装第三方模块
May 28 Python
Python Opencv实现单目标检测的示例代码
Sep 08 Python
Python中的特殊方法以及应用详解
Sep 20 Python
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
Jun 09 Python
Python爬虫基础之简单说一下scrapy的框架结构
Jun 26 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实现微信公众平台账号自定义菜单类
2015/10/11 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
鼠标滚轮改变图片大小的示例代码
2013/11/20 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
js获取内联样式的方法
2015/01/27 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Python使用py2exe打包程序介绍
2014/11/20 Python
Python中的字典遍历备忘
2015/01/17 Python
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
Django实现发送邮件功能
2019/07/18 Python
Python如何在DataFrame增加数值
2020/02/14 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
初中校园广播稿
2014/02/02 职场文书
六年级学生评语
2014/04/22 职场文书
产品开发计划书
2014/04/27 职场文书
中秋手机店促销方案
2014/06/16 职场文书
路政管理求职信
2014/06/18 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书