py 包和模块,软件开发目录规范

py 包和模块,软件开发目录规范

什么是包?

  • 包指的是内部包__init__.py的文件夹

包的做用:函数

  • 存放模块,包能够更好的管理模块

什么是模块?

  • 一些列功能的结合体
  • 至关于模块包着一堆函数与代码
  • 模块本质上是一个.py文件

模块的三种来源:url

  1. python内置的模块:(python解释器)日志

    ​ 好比:sys\time\os\turlecode

  2. 第三方模块:(别人写的)接口

    ​ 好比:requests内存

  3. 自定义模块:(本身写的)开发

    ​ 好比:本身定义的demo.py文件requests

模块的四种表现形式:
        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:用于存放配置文件的文件夹it

core:核心业务代码

interface:接口,接口内写获取数据前的逻辑代码,用事后才能获取数据

db:用于存放文件数据

lib:存放公共功能文件

log:用于存放日志文件,日志用于记录用户的操做记录

bin:里面存放启动文件 / 启动文件

readme.txt:项目说明书,用户告诉使用者项目的操做

相关文章
相关标签/搜索