模块and包

一.模块

1.import 加载的模块四个通用类别

  1.使用python编写的py文件

  2.已被编译为共享库或者DLL或者C\C++的扩展

  3.包好一组模块的包

  4.使用c编写并连接到python解释器的内置模块

2.导入模块时python的流程

  1.先判断当前导入的模块是否已经导入过

  2.如果导入过,不会重新导入该模块

  3.如果没有导入过,给导入的模块创建新的名称空间

  4.在新创建的名称空间中运行该模块中的代码

  5.创建模块的名字,方便后面的引用

3.if __name__ == '__main__'的作用

  如果在自己py中运行,__name__ 就是 __main__

  如果被其他py导入运行,__name__就是导入模块的名字

  这样可以控制在别人导入的时候不会看到你的测试

4.导入模块的规则

  1.所有的模块导入都要写在最上面,

  2.先引入内置模块

  3.再引入扩展模块

  4.最后引入自己写的模块

5.导入模块的方式

  1.import  xxx        导入xxx ,也可以导入xxx中的东西        

  2.from xxx import yyy     从xxx中导入yyy             # 注意重名 重名了用的是后面的

  3.from xxx import *       从xxx中导入全部    不推荐,这样写注意名字会不会重名

  4.import  xxx as x      导入xxx并命名为x

6.自定义模块名注意事项

  自己写的模块名千万不要和系统的内置模块重名

二.包

  一个表达式 -> 一条语句 -> 语句块 -> 函数 -> 类 -> 模块 -> 包

  包就是我们的文件夹,包内可以写很多个模块

  包,模块的查找路径:sys.path 随动  跟着你的启动文件所在位置变化

 1.绝对导入(推荐)

  跟模块一样

 2.相对导入

  .  表示本层

  ..  表示上一层

  相对导入要再外面启动

猜你喜欢

转载自www.cnblogs.com/q767498226/p/10197418.html