欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python中的模块

程序员文章站 2022-03-30 12:09:19
1. 如何使自己编写的代码成为模块。只需要将编写的.py文件放在指定的文件夹内,让解释器知道去哪找模块就行了。设置目录的方式有两种: #第一种方式:通过编辑sys.pa...

1. 如何使自己编写的代码成为模块。只需要将编写的.py文件放在指定的文件夹内,让解释器知道去哪找模块就行了。设置目录的方式有两种:

#第一种方式:通过编辑sys.path:
import sys
sys.path.append(‘g:\mymodule’)  #此时将.py放在这个文件夹中,解释器就能找到
 
#第二种方式:通过设置环境变量pythonpath,将要存放模块的目录加进来。要知道在linux和windows中如何设置环境变量。
 
#hello.py,放在指定目录中
print(‘hello,world’)
>>>import hello  #第一次导入
hello,world    #第一次导入会执行模块里面的代码
>>>import hello  #第二次导入
                #第二次导入时,就不执行了。
>>>hello=reload(hello)#若一定让它执行可用reload语句

2. 如何在模块中增加测试代码

#第一种方案,傻瓜方案
#hello.py
def hello():
    print(‘hello’)
#test
hello()#导入模块的时候,这句话也会执行,如果不想在导入的时候执行采用第二种方案
 
#第二种方案,推荐方案
#hello.py
def hello():
    print(‘hello’)
#test
def test():
    hello()
if__name__='__main__':test()  #这句话很有用

3. 为了组织好模块,可以将它们分组为包(package)。包基本上就是另外一类模块,有趣的地方就是他包含其他模块。包就是模块所在的目录,为了让python将其当作包对待,必须包含一个命名为__init__.py的文件(模块)。为了将模块放置在包内,直接把模块放在包目录内即可。

#包的例子:假设一个名为drawing的包,里面包含shapes和colors的模块则包含如下文件:

\drawing\__init__.py、\drawing\shapes.py和\drawing\colors.py。则导入包的时候有如下三种方案:

import drawing   #只有__init__.py是可以用得,shapes和colors不可用
import drawing.colors  #colors可用了,但是只能drawing.colors
from drawing import shapes #shapes可以直接用

4. 模块中有什么

(1) dir:查看模块包含的内容可以使用dir函数,它会将模块的所有函数、类、对象等所有特性列出。

>>> [n for n in dir(copy) if not n.startswith('_')]
['error', 'pystringmap', 'builtins', 'copy', 'deepcopy', 
'dispatch_table', 'error', 'name', 't', 'weakref']

(2)__all__:在模块中设置了__all__变量,则用“from copy import*”语句时只会到变量指定的几个函数,其他的被该变量给屏蔽。

>>>copy.__all__
['error','copy', 'deepcopy']  #只给外界这三个接口

(3)__doc__:模块的一些说明。

(4)__file__:通过该方式找到文档在哪,还可以通过检查sys.path获得。

>>> print (copy.__file__)
d:\program files\python\lib\copy.py