模块与包

时间:2019-11-15
本文章向大家介绍模块与包,主要包括模块与包使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一 什么是模块?
  - 模块是一系列功能的结合体。

  # 相当于与模块包着一堆函数与代码。

  - 模块本质上是一个个的.py文件。

- 模块的三种来源:
  1.python内置的模块: (python解释器的)
  比如: sys\time\os\turtle

  2.第三方的模块: (别人写的)
  比如: requests

  3.自定义的模块: (自己写的)
  比如: 自己定义的demo.py文件

- 模块的四种表现形式:
  1.使用python编写的py文件。(了解)
  2.编译后的共享库DLL或者是C或者C++库。(了解)
  3.包下面带有__init__.py的一组py文件。
  - py_demo
    - __init__.py
    - demo.py
    - demo2.py

  4.python解释器下的py文件。
    - python解释器下的文件夹
    - 一个个的py文件

二 为什么要使用模块?
  模块可以帮我们更好地管理功能代码,比如: 函数...
  可以将项目拆分成一个个的功能,分别存放在不同的py文件(模块)中。


三 如何创建,编写模块,并使用模块?
  - 鼠标右键创建py文件
  - 在py文件编写python代码

  - 在一个文件中,通过import关键字导入模块
import 模块名
  # 注意: import 模块时,模块不能加.py后缀

  - 在使用模块阶段,必须要注意,谁是执行文件,谁是被导入文件(被导入的模块)

  - 模块在首次导入时,就已经固定好了,当前文件查找的顺序是先从内存中查找

  - 模块在导入时发生的事情:
  1.会先执行当前执行文件,并产生执行文件中的名称空间。
  2.当执行到导入模块的代码时,被导入的模块会产生一个模块的名称空间。
  3.会将被导入模块的名称空间加载到内存中。

- 给模块起别名 as
import 模块 as 模块的别名

- 模块的导入方式
- import 模块
- 在执行文件中直接import导入

- from 包/模块 import 模块/(函数名、变量名、类名)
- 在执行文件中直接import导入
- 循环导入问题:
- model1.py
from model2 import name
name = 'jason'

- model2.py
from model1 import name
name = 'tank'

- 解决循环导入问题:
1.需要查找的名字放在导入模块的上方
2.在函数内部导入,将模块变成函数名称空间中的名字


 


 

原文地址:https://www.cnblogs.com/lvguchujiu/p/11869265.html