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

什么是包?

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

包的作用:

  • 存放模块,包可以更好的管理模块

什么是模块?

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

模块的三种来源:

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

    ​ 比如:sys\time\os\turle

  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:核心业务代码

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

db:用于存放文件数据

lib:存放公共功能文件

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

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

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

py 包和模块,软件开发目录规范的更多相关文章

  1. python基础语法10 函数递归,模块,软件开发目录规范

    函数递归: 函数递归指的是重复 “直接调用或间接调用” 函数本身, 这是一种函数嵌套调用的表现形式. 直接调用: 指的是在函数内置,直接调用函数本身. 间接调用: 两个函数之间相互调用间接造成递归. ...

  2. Python全栈之路----常用模块----软件开发目录规范

    目录基本内容 log  #日志目录 conf  #配置目录 core/luffycity  #程序核心代码目录  #luffycity 是项目名,建议用小写 libs/modules  #内置模块 d ...

  3. python模块导入-软件开发目录规范-01

    模块 模块的基本概念 模块: # 一系列功能的结合体 模块的三种来源 """ 模块的三种来源 1.python解释器内置的模块(os.sys....) 2.第三方的别人写 ...

  4. python 之 软件开发目录规范 、logging模块

    6.4 软件开发目录规范 软件(例如:ATM)目录应该包含: 文件名 存放 备注 bin start.py,用于起动程序   core src.py,程序核心功能代码   conf settings. ...

  5. Python模块:Re模块、附软件开发目录规范

    Re模块:(正则表达式) 正则表达式就是字符串的匹配规则 正则表达式在多数编程语言里都有相应的支持,Python里面对应的模块时re 常用的表达式规则:(都需要记住) “ . ”   #  默认匹配除 ...

  6. Python 浅谈编程规范和软件开发目录规范的重要性

    最近参加了一个比赛,然后看到队友编程的代码,我觉得真的是觉得注释和命名规范的重要性了,因为几乎每个字符都要咨询他,用老师的话来说,这就是命名不规范的后续反应.所以此时的我意识到写一篇关于注释程序的重要 ...

  7. python浅谈编程规范和软件开发目录规范的重要性

    前言 我们这些初学者,目前要做的就是遵守代码规范,这是最基本的,而且每个团队的规范可能还不一样,以后工作了,尽可能和团队保持一致,目前初学者就按照官方的要求即可 新人进入一个企业,不会接触到核心的架构 ...

  8. Python记录13:软件开发目录规范

    软件开发目录规范 开发一个软件,一个工程项目,一般应该具备以下的几个基本的文件夹和模块,当然,这并不是一成不变的,根据项目的不同会有一定的差异,不过作为一个入门级的新手,建议暂时按照以下的规范编写: ...

  9. day21 模块与包+软件开发目录规范

    目录 一.导入模块的两种方式 二.模块搜索的路径的优先级 三.循环导入 四.区分py文件的两种用途 五.编写一个规范的模板 五.包 1 什么是包 2 为什么要有包 3 包的相关使用 3.1 在当前文件 ...

随机推荐

  1. luogu P3853 [TJOI2007]路标设置 |二分

    题目背景 B市和T市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离.为了便于研究这个问题,我们把公路上相邻路标的最大距离定 ...

  2. mgcp的alg功能实现

    刚吃了一碗还算正宗的潮汕牛筋丸粿条和一颗卤蛋,算是给自己的生日礼物. 这一周工作只围绕了一个主题“mgcp的alg功能实现”. 1. 应用场景: 一台运行mgcp语音协议的终端设备,经过一台路由器到达 ...

  3. 集合类源码(五)Collection之BlockingQueue(LinkedTransferQueue, PriorityBlockingQueue, SynchronousQueue)

    LinkedTransferQueue 功能 全名 public class LinkedTransferQueue<E> extends AbstractQueue<E> i ...

  4. SQLServer查看分区表详细信息

    SQL查看分区内记录个数,常规方法需要知道分区函数然后再显示,网上看到一个一句话显示的方法 ), ps.name ) as partition_scheme, p.partition_number, ...

  5. linux centos7下源码 tar安装mysql5.7.22或mysql5.7.20 图文详解

    之前用的rpm安装的每次安装都是最新的,,,导致每次版本不统一... 现在用tar包安装5.7.22和5.7.20一样的   5.7.20之后的和之前的版本还是有点不一样的 官网地址 https:// ...

  6. Python课程第八天作业

    第一题: 1.自定义一个 Fruit 类:该类有一个 类属性: identify:值为"水果",有两个对象属性: name,price:值由实例化对象时赋值,一个类方法: get_ ...

  7. 二、hexo+github搭建个人博客的简单使用

    使用hexo+github搭建一个可以外网访问的个人博客,此文用于记录博客初级的使用方法. 新建-编写-生成-部署文章的全过程 1.使用cmd完成 打开命令提示符[win+r输入cmd] 切换到自己本 ...

  8. javascript(五)表达式

    表达式 (expression) JavaScript中的一个短语, JavaScript解释器会将其计算(evaluate) 出一 个结果.程序中的常量是最简单的一类表达式.变量名也是一种简单的表达 ...

  9. <Android Studio> 3.打包APK

    我的IDE版本是 3.5 我希望输出的apk文件格式是: 名称_v版本_release/debug_日期 时间.apk 步骤: 1.打开build.gradle 末尾添加如下代码 def releas ...

  10. unity点击按钮弹出操作提示界面

    1.首先在相应的位置添加一个(UGUI控件)image,在image下添加文本框和按钮设计弹出框内容如图: 2.新建C#脚本UITips using System.Collections; using ...