Python中的模块
2014-03-04 10:18
141 查看
1. 如何使自己编写的代码成为模块。只需要将编写的.py文件放在指定的文件夹内,让解释器知道去哪找模块就行了。设置目录的方式有两种:
2. 如何在模块中增加测试代码
3. 为了组织好模块,可以将它们分组为包(package)。包基本上就是另外一类模块,有趣的地方就是他包含其他模块。包就是模块所在的目录,为了让python将其当作包对待,必须包含一个命名为__init__.py的文件(模块)。为了将模块放置在包内,直接把模块放在包目录内即可。
#包的例子:假设一个名为drawing的包,里面包含shapes和colors的模块则包含如下文件:
\drawing\__init__.py、\drawing\shapes.py和\drawing\colors.py。则导入包的时候有如下三种方案:
4. 模块中有什么
(1) dir:查看模块包含的内容可以使用dir函数,它会将模块的所有函数、类、对象等所有特性列出。
(2)__all__:在模块中设置了__all__变量,则用“from copy import*”语句时只会到变量指定的几个函数,其他的被该变量给屏蔽。
(3)__doc__:模块的一些说明。
(4)__file__:通过该方式找到源码文档在哪,还可以通过检查sys.path获得。
#第一种方式:通过编辑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
相关文章推荐
- python导入模块时的路径疑惑
- python安装完毕后,提示找不到ssl模块的解决步骤
- Python calendar日历模块的说明
- python模块 - functools模块
- 【Python】 csv模块的使用
- python使用os模块的os.walk遍历文件夹示例
- linux下python调用c模块
- Python的模块
- python对于cx_Oracle模块的封装
- python模块安装:numpy、pylab(转)
- python使用os模块的os.walk遍历文件夹
- C语言调用Python模块(Ubuntu Linux)
- Python中第三方的库(library)、模块(module),包(package)的安装方法以及ImportError: No module named
- CentOS 6.5升级Python版本、修复yum和安装模块
- Windows下构建和发布Python模块过程中遇到的问题
- python中cx_Oracle模块安装遇到的问题与解决方法
- Python模块的使用
- 好使-利用python 下paramiko模块无密码登录
- python语法31[包模块实例]
- Python模块学习——optparse