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
下一篇: 冬至吃饺子的来历由来