体系结构
层级划分
概述:Python自上而下可以划分为包、模块、类。
包(Package):是一种组织Python模块的方式,它将相关的模块组合在一起形成一个目录结构。包可以包含多个模块和子包。3.3版本之前通常包含一个名为 __init__.py 的文件,以此来标识为一个包,3.3及以后版本采用隐式标识。
模块(Module):是一个包含Python代码的文件,可以包含函数、类、变量和其他可执行代码。通过将相关功能封装到模块中,可以实现代码的重用和模块化设计。模块可以被其他Python程序导入和使用。
类(Class):是一种面向对象编程的基本概念,用于创建对象的蓝图或模板。类由属性(变量)和方法(函数)组成,用于描述对象的特征和行为,一个模块中包含一个或多个类。
PS:通常一个模块对应一个物理 .py 脚本文件,一个包对应一个物理文件夹。
关系:1、一个文件通常可以包含多个类或多个函数(方法),每个类可以有多个方法。
命名空间
概述:Python中的命名空间是一个用于存储变量和对象名称的系统,被划分为四个层级。它决定了在代码中如何访问这些名称,并避免了命名冲突。
Local Namespace(局部命名空间):这是函数内部的命名空间,包含了在当前函数中定义的变量和参数。
Enclosing Namespace(嵌套命名空间):如果函数是在另一个函数内部定义的,那么外部函数的命名空间就是嵌套命名空间。这个命名空间包含了外部函数和所有直接包围该函数的函数的变量。
Global Namespace(全局命名空间):这是模块级别的命名空间,包含了在整个模块中定义的变量、函数和类。
Built-in Namespace(内置命名空间):这是Python解释器提供的内置函数和类型的命名空间,例如print()和len()等。