python学习小结6:模块
模块:在Python中有一个概念叫做模块(module),简单地说,模块就是一个保存了Python代码的文件。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块。模块文件以.py后缀结尾
import 语句
在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入。
在调用math模块中的函数时,必须这样引用:模块名.函数名
>>> import math # 引入math模块
>>> print math.sqrt(4) # 调用函数必须加上模块名
2.0
from…import 语句
Python的from语句让你从模块中导入一个指定的部分到当前命名空间中, 语法: from modname import name1[, name2[, ... nameN]]
from fib import fibonacci # 导入模块 fib 中的 fibonacci 功能
from…import* 语句
把一个模块的所有内容全都导入到当前的命名空间也是可行的 语法:from modname import *
定位模块
当你导入一个模块,Python解析器对模块位置的搜索顺序是:
- 当前目录
- 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
- 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
PYTHONPATH变量
作为环境变量,PYTHONPATH由装在一个列表里的许多目录组成。PYTHONPATH的语法和shell变量PATH的一样。
在Windows系统,典型的PYTHONPATH如下: set PYTHONPATH=c:\python20\lib;
在UNIX系统,典型的PYTHONPATH如下: set PYTHONPATH=/usr/local/lib/python
二、定义自己的模块
在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字。
比如有这样一个文件test.py,在test.py中定义了函数add:
#test.py def add(a,b):
return a+b
那么在其他文件中就可以先import test,然后通过test.add(a,b)来调用了,当然也可以通过from test import add来引入。
三、模块导入的特征:
(1)、载入时执行模块,也就是导入模块的顶层代码将会被执行,通常包括该模块内全局变量、类和函数的声明。
(2)、一个模块可被导入(import)多次,但是只加载(load)一次。
为什么要使用模块?
1、代码重用。
2、系统名字空间的划分,是组织系统组件的工具。
3、实现服务或数据的共享,只要一个模块,就可以被多个客户导入。
python 中的包
python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。
解析包机制:
每一个.py文件称为一个module,module之间可以互相导入,module可以定义在包里面,Python定义包的方式稍微有点古怪,假设我们 有一个parent文件夹,该文件夹有一个child子文件夹,child中有一个module a.py,如何让Python知道这个文件层次结构?很简单,每个目录都放一个名为 _init_.py 的文件,该文件内容可以为空。
python学习小结6:模块的更多相关文章
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- Python学习 Part4:模块
Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...
- python学习之argparse模块
python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...
- Python学习day19-常用模块之re模块
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day18-常用模块之NumPy
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- python学习之random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python学习笔记之模块与包
一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- Python学习笔记1—模块
模块的使用 引用模块的两种形式 形式一: import module_name 形式二: from module1 import module11 (module11是module的子模块) 例: ...
随机推荐
- 何为 ISAPI
ISAPI即为Internet Server Application Programming Interface ISAPI 服务器扩展 ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 ...
- centos 6.5 安装lnmp(linux+nginx+mysql+php)
参考:http://www.cnblogs.com/AloneSword/archive/2013/03/18/2966750.html (总结并简要) 一安装cmake wget -c http:/ ...
- 利用Form()使绘图可以不消失
1: public Form1() 2: { 3: InitializeComponent(); 4: this.Show(); 5: Graphics grp = this.CreateGraphi ...
- Base Pattern基本模式_Gateway入口
•Gateway入口 ◦一个封装了对外部系统或资源访问的对象. ◾OO系统中,也需要访问一些不是对象的事物,DB表,XML,事务. ◾这些外部资源的API很复杂. ◾入口类对象将简单的方法调用转换成相 ...
- CTG
服务端:一.修改IP地址AIX上CICS REGION的目录/var/cics_regions/your_region_name/database/LD二.修改文件LD.stanza中的IP地址三. ...
- (转)Linux性能调优之虚拟内存篇
简单地说,虚拟内存就是硬盘中的一块区域,它用来存放内存里使用频率不高的页面文件.好处是为了提高内存的利用率 - 让使用频率高的页面文件活动在内存区域中,提高CPU对数据操作的速度.在Linux中,这个 ...
- Integer类型值相等或不等分析
看到博客园一位博友写的面试问题,其中一题是 Integer a = 1; Integer b = 1 ; (a == b)?true :false; 当时我一看,这不是明显的true 嘛, 看到评论 ...
- 济南学习 Day 4 T2 am
LYK 与实验室(lab)Time Limit:5000ms Memory Limit:64MB题目描述LYK 在一幢大楼里,这幢大楼共有 n 层,LYK 初始时在第 a 层上.这幢大楼有一个秘密实验 ...
- 简单工厂(Simple Pattern)模式
一.简单工厂(Simple Factory)模式 Simple Factory 模式根据提供给它的数据,返回几个可能类中的一个类的实例.通常它返回的类都有一个公共的父类和公共的方法. Simple F ...
- PHP时间戳
strtotime strtotime("Today"); #今天凌晨0点的时间戳 strtotime('now'); #当前时间的时间戳 strtotime ( &quo ...