python 模块和包

一、模块

1、实质

模块的实质.py文件

2、导入

1)import 模块

a.使用规则

模块.变量名

与本地定义的同名变量不冲突

b.别名

import 模块 as 别名

别名.变量名

作用:简化代码、提高兼容性

c.一次导入多个模块

import 模块1, 模块2, 模块3

不推荐这样写

2)from 模块 import 变量名

a.使用

变量名

与本地定义的变量名冲突

b.别名

from 模块 import 变量名 as 别名

作用:简化代码(重命名变量名)

c.一次导入多个变量

from 模块 import 变量1, 变量2

不推荐使用

d.from 模块 import *

不推荐使用,不安全

增加安全性:

在模块里添加__all__ = [字符串类型的变量名],

只有列表里有的变量名,才能被成功导入

3、模块文件

if __name__ == '__main__':

若在.py文件加上上面的代码,下面执行逻辑,若果执行该.py文件,执行下面的代码,若作为模块,则不执行下面的代码

直接执行模块的.py文件,__name__ == '__main__'

在其它.py文件,引入这个模块时,这个模块__name__ = '模块的名字'

4、其它

sys.modules记录了所有被导入的模块

sys.path 记录了导入模块的时候寻找的所有路径

 二、包

1、导入

与模块显示

2、格式

创建包每个包都有__.init__.py文件

3、绝对路径

优点:不管包的位置在内部还是外部,导了就能用

缺点:不能移动

4、相对路径

.当前路径

..上一级路径

优点:包可以移动

缺点:在包里的模块不能使用其他自定义模块

原文地址:https://www.cnblogs.com/wt7018/p/10898037.html