python基础 - 包与模块

'''
什么是包?
包指的是内部包含__init__.py的文件夹。

包的作用:
存放模块,包可以更好的管理模块。

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

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

- 模块本质上是一个个的.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.在函数内部导入,将模块变成函数名称空间中的名字

  • 软件开发目录规范:
    注意: 每一次写项目时,都要新建一个文件夹与项目工程,必须让项目文件夹作为项目根目录。

  • 项目的文件夹

    • conf:

      • 用于存放配置文件的文件夹
    • core:

      • 核心业务代码 .py
    • interface:

      • 接口, 接口内写获取数据前的逻辑代码,通过后才能获取数据
    • db:

      • 用于存放文件数据
    • lib:

      • 存放公共功能文件
    • log:

      • 用于存放日志文件,日志用于记录用户的操作记录
    • bin:

      • 里面存放启动文件 / - 启动文件
    • readme.txt:

      • 项目说明书, 用户告诉使用者项目的操作
posted @ 2019-11-17 23:14  七里塘  阅读(69)  评论(0编辑  收藏  举报