python 包、模块、类、函数与变量作用域

一、python  包、模块、类、函数与变量作用域的关系

  


  模块       类         函数、变量

 

包 是一个 文件夹。包的名字就是文件夹的名字。

模块是一个.py文件;与Java 不同,Java 建议是一个.java文件就写一个类,也就是java的类近似于python的一个模块;与Java不同的是,.py文件中可以写多个类,类名无需与文件名相同

 

二、包

1、包名+模块名 = 命名空间

2、包下面可以有子包(子文件夹)、包下面还可以有模块,让子包和模块平级

3、包(包括子包)下面,有个特殊的文件__init__.py ,它的作用是标示一个包,没有这个文件,就不认为这个文件夹是个包,而是只认为是个文件夹;__init__.py这个文件中啥也不写也行,写些代码也是可以的。  

4、导入平级包中的模块

 

5、导入下级包-子包中的模块

 

 

别名:

 

 

6、直接导入函数/变量 

7、内置变量__all__ 与import *

 

 

 __all__ 内置变量限制 * 导入时,允许导入的变量或者函数(附加的知识点);在__init__.py 中定义内置变量的话,将会在整个包中都生效的,比如__all__=['a','c'],那么下面的所有模块的变量 在import * 中 都是导入变量a 和变量 c

8、总结

import 导入的是模块

from 模块(包.模块) import 函数/变量

from 包 import 模块 也是可以的 但是和 import 导入的是模块没有区别 所以没这个必要
 
导入多个函数/变量,这个很熟,不用复习了
 
 
 
posted @ 2020-08-04 22:30  XiaoLee-C  阅读(432)  评论(1编辑  收藏  举报