包和模块

高性能, 封装性 不能只追求业务的实现

python项目的组织结构:
包(文件夹) --> 模块(文件) --> 类 --> 函数变量

python包: 必须有个文件, 文件名叫做 __init__.py  文件内容可以是空

#(1)导入模块方式

1)方式一:

import  模块   或 import 包.模块

print(模块.变量|方法)

import 模块  as 变量名              import 包.模块 as 变量名 
print(变量名.(变量|方法))

2)方式二:

from module  import 变量,方法
print(变量)

3)方式三:

from 包.module  import 变量,方法
print(变量)

 from 包 import 模块
 print(模块.变量)

4)方式四

from 包.module import *

导入模块的全部变量和方法 , 不建议使用; 引用不明确

使用from 包.module import *方法, 想导入指定的变量和方法名, 在提供模块的一方使用python内置变量__all__ , 该变量的意思是被其他模块导入指定的变量
__all__ = ['变量|方法']

总结:建议不要使用 from 模块 import * 这种方法;

5)多行导入模块

from  模块  import (
变量1,变量2
)

6)init.py 作用:

作用1:  from 包  import *     可以在__init__.py文件中使用内置变量__all__ = [模块1,] 定义哪些模块可以被其他模块引用
作用2: 批量导入模块, 在__init__.py 导入import sys , 在模块中引入包, 如果有30个模块, 都需要导入, 效率太低

init.py文件下导入模块

包和模块

引入:
import 包
print(包.模块.方法或变量)

包和模块

猜你喜欢

转载自blog.51cto.com/1000682/2374629