五、总结

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

一、引入模块

模块:当编写更大的应用程序时,所有的代码肯定会分成多个文件,这样便于维护,另外已经编写好的函数和对象在被多个程序中使用时,不用把函数和对象拷贝到每个程序中。

模块支持以上功能,在Python中,一个.py文件就构成一个模块,通过模块,你可以调用其它文件中的程序。

模块名称:fibo.py

路径:E:\djcode\untitled

1__author__='Administrator'2deflaugh():3PRint'HaHaHaHa'

引入模块:

1>>>importfibo#引入了fibo模块2>>>fibo.Laugh()3HaHaHaHa4>>> fibo.__name__5'fibo'67>>>fromfiboimportlaugh#引入了fibo模块,此种引入方式fibo未定义8>>>Laugh()9HaHaHaHa

二、搜索路径Python会在以下路径中搜索它想要寻找的模块:

程序所在的文件夹

标准库的安装路径

操作系统环境变量PYTHONPATH所包含的路径

如果你有自定义的模块,或者下载的模块,可以根据情况放在相应的路径,以便Python可以找到。

三、dir()函数内置函数dir()用来找出模块中定义了哪些名字,它返回一个排好序的字符串列表:

1>>>importfibo2>>>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>>>importfibo#导入Python解释器的是fibo这个模块名称,若访问fibo模块中的函数需通过模块名称来访问2>>>fibo.laugh()3HaHaHaHa45>>>fromfiboimportlaugh#导入Python解释器的是fibo这个模块内所有的函数和对象,但不会导入fibo这个模块名称,因此fibo将未定义6>>>laugh()7HaHaHaHa

在E:\djcode\untitled目录下引入包(Package1)下的PK1fibo.py等模块:

1>>>importPackage1.PK1fibo2>>>Package1.PK1fibo.laugh()3PK1fiboHaHaHaHaHaHa45>>>fromPackage1importPK1fibo,PK2fibo,PK3fibo,PK4fibo,PK5fibo6>>>PK1fibo.laugh()7PK1fiboHaHaHaHaHaHa89>>>fromPackage1import*#当包(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()11PK1fiboHaHaHaHaHaHa12>>>PK2fibo.laugh()13Traceback (most recent call last):14File"<input>", line 1,in<module>15NameError: name'PK2fibo'isnotdefined

在E:\djcode\untitled目录下引入目录(Directory1)下的D1fibo.py模块:

1>>>importsys2>>> sys.path.append("Directory1")3>>>fromD1fiboimportlaugh4>>>laugh()5D1fiboHaHaHaHaHaHa

在E:\djcode\untitled\ Directory1目录下引入fibo.py模块:

1>>>importsys2>>> sys.path.append("..")3>>>fromfiboimportlaugh4>>>laugh()5HaHaHaHa

五、总结

from module import function

import module

__init__.py

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航