模块(Modules)

页面导航:首页 > 软件编程 > Java编程 > 模块(Modules)

模块(Modules)

来源:互联网 作者:脚本宝典 时间:2015-09-19 12:59 【

一、引入模块模块:当编写更大的应用程序时,所有的代码肯定会分成多个文件,这样便于维护,另外已经编写好的函数和对象在被多个程序中使用时,不用把函数和对象拷贝到每个程
一、引入模块
 
 
模块:当编写更大的应用程序时,所有的代码肯定会分成多个文件,这样便于维护,另外已经编写好的函数和对象在被多个程序中使用时,不用把函数和对象拷贝到每个程序中。
模块支持以上功能,在Python中,一个.py文件就构成一个模块,通过模块,你可以调用其它文件中的程序。
模块名称:fibo.py
路径:E:\djcode\untitled
1 __author__ = 'Administrator'2 def laugh():3     print 'HaHaHaHa'
引入模块:
1 >>> import fibo     #引入了fibo模块2 >>> fibo.Laugh()3 HaHaHaHa4 >>> fibo.__name__5 'fibo'6 7 >>> from fibo import laugh   #引入了fibo模块,此种引入方式fibo未定义8 >>> Laugh()9 HaHaHaHa
二、搜索路径
Python会在以下路径中搜索它想要寻找的模块:
 
程序所在的文件夹
标准库的安装路径
操作系统环境变量PYTHONPATH所包含的路径
 
如果你有自定义的模块,或者下载的模块,可以根据情况放在相应的路径,以便Python可以找到。
三、dir()函数
内置函数dir()用来找出模块中定义了哪些名字,它返回一个排好序的字符串列表:
1 >>> import fibo2 >>> dir(fibo)3 ['__author__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'Laugh',]
注意它列出了所有类型的名称: 变量、 模块、 函数等。
 
四、包(Packages)
包:可以将功能相似的模块放在同一个文件夹中,构成一个模块包。该文件夹中必须包含一个__init__.py的文件,提醒Python,该文件夹为一个模块包,__init__.py可以是一个空文件。
目录结构:
Untitled(E:\djcode\untitled)
         Directory1
                   D1fibo.py
         Package1
                   __init__.py
                   PK1fibo.py
                   PK2fibo.py
                   PK3fibo.py
                   PK4fibo.py
                   PK5fibo.py
         fibo.py
在E:\djcode\untitled目录下引入fibo.py模块
1 >>> import fibo         #导入Python解释器的是fibo这个模块名称,若访问fibo模块中的函数需通过模块名称来访问2 >>> fibo.laugh()3 HaHaHaHa4 5 >>> from fibo import laugh     #导入Python解释器的是fibo这个模块内所有的函数和对象,但不会导入fibo这个模块名称,因此fibo将未定义6 >>> laugh()7 HaHaHaHa
在E:\djcode\untitled目录下引入包(Package1)下的PK1fibo.py等模块:
 1 >>> import Package1.PK1fibo 2 >>> Package1.PK1fibo.laugh() 3 PK1fiboHaHaHaHaHaHa 4  5 >>> from Package1 import PK1fibo,PK2fibo,PK3fibo,PK4fibo,PK5fibo 6 >>> PK1fibo.laugh() 7 PK1fiboHaHaHaHaHaHa 8  9 >>> from Package1 import *       #当包(Package1)下的__init__.py文件为空时,
                                     该导入模块等同于from Package1 import PK1fibo,PK2fibo,PK3fibo,PK4fibo,PK5fibo,
                                     但当前__init__.py文件中包含有__all__ = ["PK1fibo","PK4fibo","PK5fibo"],
                                     此时等同于from Package1 import PK1fibo, PK4fibo,PK5fibo10 >>> PK1fibo.laugh()11 PK1fiboHaHaHaHaHaHa12 >>> PK2fibo.laugh()13 Traceback (most recent call last):14   File "<input>", line 1, in <module>15 NameError: name 'PK2fibo' is not defined
在E:\djcode\untitled目录下引入目录(Directory1)下的D1fibo.py模块:
1 >>> import sys2 >>> sys.path.append("Directory1")3 >>> from D1fibo import laugh4 >>> laugh()5 D1fiboHaHaHaHaHaHa
在E:\djcode\untitled\ Directory1目录下引入fibo.py模块:
1 >>> import sys2 >>> sys.path.append("..")3 >>> from fibo import laugh4 >>> laugh()5 HaHaHaHa
五、总结
 
from module import function
import module
__init__.py


Tags:

相关文章

    文章评论

    最 近 更 新
    热 点 排 行
    Js与CSS工具
    代码转换工具
    
    <