Skip to content

Latest commit

 

History

History
34 lines (23 loc) · 1.2 KB

3-模块的命名空间.md

File metadata and controls

34 lines (23 loc) · 1.2 KB

模块的命名空间

1.定义参数的封装,也是想让模块其余部分看见变量的场所。

2.python导入模块后会创建模块对象,封装所有变量(对象属性)

3.文件命名的生成

1. 模块语句在首次导入执行(创建对形象空间,添加对象属性)
2. 顶层的赋值语句会创建模块属性,复制的变量名会存储在模块的命名空间
3. 模块的命名空间能通过该__dict__或者__dict()获取
4. 模块是一个独立的作用于:
      模块顶层变量遵守和函数内变量名相同的作用引用和命名规则
      模块变量会在模块加载后变成模块的属性字典
      模块的文件的作用域就变成了模块的对象的属性的命名空间
  1. 导入和作用域:
1. 导入操作不会赋予被导入文件中代码对上层代码的可见度,导入文件不能看到被导入文件的内置变量
2. 函数不能看见其他函数内的变量,除非他在物理上处于这个函数内部
3. 模块代码无法看到其他模块内的变量,除非明确进行了导入
  1. 命名空间的嵌套:
导入不会发生向上的嵌套,但会发生向下嵌套