python 基础之模块与包

369 阅读2分钟

模块与包

一、模块

1、模块概念
  • 模块指包含了python程序的源文件,每一个独立的 .py 文件具有特定的功能,其功能可以被其他python程序使用,该文件就构成了一个模块
  • 模块的名称必须满足标识符的命名规范
2、模块中的资源

模块中的以下资源可以被外界使用:

类(定义)

函数

变量(全局)

3、模块资源导入

格式一(全部导入):

导入格式:

    import 模块名

模块资源使用格式:

模块名.类名
模块名.函数名
模块名.变量名

格式二(局部导入):

导入格式:

from 模块名称 import 资源名称
from 模块名称 import 资源名称1,资源名称2
from 模块名称 import *

模块资源使用格式:

类名
函数名
变量名
注意:
如果多次导入模块中具有同名的资源,后导入的模块资源覆盖先导入的模块资源
4、局部导入资源访问控制

如果使用格式二中的全部资源导入方式

from 模块名称 import *

可以在模块文件中第一行设置资源访问控制

__all__ = ["资源名称1","资源名称2"]

实例如下:

"""在使用 from 模块名称 import * 导入资源时,__all__列表中出现名称的资源可以被其他文件中使用"""
__all__ =["show","age"]
class Dog():
    @classmethod
    def sepek(cls):
        print("狗在叫")

def show():
    print("hello word!")
    
list1 = [1,2,3,4,5,6]
age = 19
说明:

__all__列表中出现名称的资源可以被其他文件中使用

5、模块文件的执行代码处理

导入模块的同时会将原模块对应的.py文件进行执行,包括书写的运行代码,通过下列方式屏蔽原始模块中的运行代码:

if __name__ == "__main__":
	执行代码
6、模块资源运行工作原理

模块资源导入时,解释器第一次读取原始资源文件,并生成缓存文件。 再次使用时直接使用缓存文件,加速程序执行。

二、包

1、包的概念

包就是项目结构中的文件夹/目录

2、包的作用
  • 包用于将不同的模块进行分类管理,包本身不具有具体的含义,仅用于文件分层管理
  • 注意事项:放入包中的模块使用时需要在模块名前面添加包名,中间使用.分隔