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 相关文章推荐
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
Python中__init__.py文件的作用详解
Sep 18 Python
Python 结巴分词实现关键词抽取分析
Oct 21 Python
python通过opencv实现批量剪切图片
Nov 13 Python
python之pandas用法大全
Mar 13 Python
Python随机生成身份证号码及校验功能
Dec 04 Python
对DJango视图(views)和模版(templates)的使用详解
Jul 17 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
Sep 01 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 Python
使用Python实现NBA球员数据查询小程序功能
Nov 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
一个域名查询的程序
2006/10/09 PHP
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
php下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
2016/01/01 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
2019/06/18 jQuery
Vue.set 全局操作简单示例
2019/09/19 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
python异常处理try except过程解析
2020/02/03 Python
数字漫画:comiXology
2020/06/13 全球购物
Python文件操作的面试题
2013/06/22 面试题
学生发电厂实习自我鉴定
2013/09/22 职场文书
大学生村官演讲稿
2014/04/25 职场文书
农业开发项目建议书
2014/05/16 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
详解JAVA中的OPTIONAL
2021/06/14 Java/Android
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL