首页 > 编程 > Python > 正文

Python学习笔记08_模块

2019-11-10 18:42:09
字体:
来源:转载
供稿:网友

模块

在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 sysdef 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 <<< sys.path.append('/Users/padluo') 添加自己的搜索目录,一声直接修改sys.path,添加要搜索的目录,这种方法是运行时修改,运行结束后失效。第二种是设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中,只需要添加自己的搜索路径,Python自己本身的搜索路径不受影响。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表