您的位置:首页 > 编程语言 > Python开发

Python学习笔记08_模块

2017-02-08 14:55 323 查看

模块

在Python中,一个.py文件就成为一个模块(Module)。

为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。

每一个包目录下面都会有一个
__init__.py
的文件,这个文件时必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。
__init__.py
可以说空文件,也可以有Python代码,因为
__init__.py
本身就是一个模块,而它的模块名就是对应的目录名称。

使用模块

hello.py


#!/usr/bin/env python3

# -*- coding: utf-8 -*-

' a test module '

__author__ = 'Michael Liao'

import sys

def test():
args = sys.argv
if len(args) == 1:
print('Hello, world!')
elif len(args) == 2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if __name__ == '__main__':
test()


第1行和第2行数标准注释。

第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件本身使用标准UTF-8编码。

第4行数一个字符串,表示模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释。

第6行使用
__author__
变量把作者写进去。

sys.argv,用list存储了命令行的所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称。

当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量
__name__
置为
__main__
,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试。

作用域

正常的函数和变量名是公开的(public)。

__xxx__
是特殊变量,可以被直接饮用,有特殊用途。如
_author_
,
__name__
,
__doc__


_xxx
__xxx
这样的函数或变量就是非公开的(private),不应该被直接引用。

安装第三方模块

pip、pip3。

pip install xxx

模块搜索路径

<<< import sys

<<< sys.path

&
4000
lt;<< sys.path.append('/Users/padluo')


添加自己的搜索目录,一声直接修改
sys.path
,添加要搜索的目录,这种方法是运行时修改,运行结束后失效。第二种是设置环境变量
PYTHONPATH
,该环境变量的内容会被自动添加到模块搜索路径中,只需要添加自己的搜索路径,Python自己本身的搜索路径不受影响。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: