python学习小结6:模块

来源:互联网 发布:演示动画制作软件 mac 编辑:程序博客网 时间:2024/05/16 16:06
模块在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.pydef 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 的文件,该文件内容可以为空。

 

0 0
原创粉丝点击