模块与包
一 什么是模块?
      - 模块是一系列功能的结合体。
# 相当于与模块包着一堆函数与代码。
- 模块本质上是一个个的.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.在函数内部导入,将模块变成函数名称空间中的名字
 
 
                    
                     
                    
                 
                    
                

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号