• 模块的认知


    • 模块

    • 程序设计目录规范

    一、模块

    1、什么叫模块

    模块就是一系列功能的结合体,将一系列功能放在一起。

    模块有三种来源,首先由内置的模块,也就是python解释器自带的,其次就是第三方的模块,别人提前写好的,使用时直接拿来调用即可,最后一种是自定义的,也就是自己写的。

    2、模块的四种表现形式

    模块可以是python编写的py文件,意味着每一个py文件可以称之为一个模块;模块也可以是已经编译为共享库或DLL的C或C++扩展;模块也可以是把一系列模块组织到一起的文件夹,有init.py文件的文件夹叫做包(一系列py文件的结合体);模块也可以是使用C编写并连接到pytho解释器的内置模块。

    3、模块的作用

      使用模块主要有两点好处:

      1、用别人写好的模块(内置或者第三方的)可以极大的提高开发效率

      2、将写的程序的文件模块化,可以便于区分写的程序具有哪些功能,方便程序的调用以及后期的维护与更新

      3、模块的导入 模块在使用前,需要先执行导入模块的操作,模块的导入方法主要有如下两种。

        1、import导入模块

    # run.py
     
    import md
    在run中导入模块md
    #md.py
     
    print('from the md1.py')
    money = 1000
    def read1():
      print('md',money)
    def read2():
      print('md模块')
      read1()
    def change():
      global money
      money = 0
    md.py文件(模块)

      右键运行run.py文件首先会创建一个run.py的名称空间。

          首次导入模块(md1.py)。

              1.执行md.py文件。

              2.运行md.py文件中的代码将产生的名字与值存放到md.py名称空间中。

              3.在执行文件中产生一个指向名称空间的名字(md)。

      多次导入不会再执行模块文件,会沿用第一次导入的成果。

        2、from...import...导入模块(与import类似)

      再导入模块前一定要先区分哪个是执行文件,哪个是被导入文件,分清导入模块的路径

      模块的导入路径有绝对路径导入和相对路径导入

        1、绝对导入必须依据执行文件所在的文件夹的路径为准,绝对路径导入无论在执行文件中还是被导入文件中都适用;

    2、相对导入可以用.代表当前路径,..代表上一级路径,...代表上上一级路径。相对导入不能在执行文件中使用,相对导入只能在被导入的模块中使用,使用相对导入不需要考虑执行文件在哪,只需要知道模块与模块之间的路径关系。

    4、模块的循环导入

    模块的循环导入是指模块A导入模块B,模块B也导入模块A。当A模块导入B模块的某个参数或函数时,当该模块或参数定义在模块B导入模块A之后,此时的模块导入会报错,会出现没有定义变量名或函数,名的错误。

    循环导入模块在设计程序的时候时不被提倡的,如果出现循环导入模块,说明设计的程序不合理,即使可以通过其它方法解决。应该在设计程序阶段避免出现在这种问题。

    循环导入模块的解决方法:

    1、将循环导入的句式写在文件最下方

    2、在函数内导入模块

    5、__name__的用法

    在一个文件中,直接调用name时,若文件被当作执行文件执行的时候,name打印结果时main;当玩文件被当作模块导入的时候name打印的结果时模块名,没有.py的后缀。

    6、模块的查找顺序

    模块的查找顺序分为三步:

    1、先从内存中找

    2、然后从内存中找

    3、最后在sys.path中找(可以理解为在环境变量中查找)

    如果三步都没用查找到,则会报错,该模块名不存在

    二、程序设计规范

    文件目录规范入下所示:

    项目名

    bin文件夹

    start.py(项目启动文件)

    conf文件夹

      settings.py(项目配置文件)

    core文件夹 

      src.py(项目核心逻辑)

    db文件夹 (存放数据库相关文件)

    lib文件夹

      common.py(项目所用到的公共的功能)

    log文件夹

      log.log(存放项目的日志文件)

    readme.txt(文本文件,项目简介)

  • 相关阅读:
    handlebars.js 模板引擎
    g2-plugin-slider.js 数据滚动条插件
    js拓扑图-vis插件
    js地图-leaflet
    css3 animation动画停留在最后一帧
    input输入手机号增加空格
    百度输入框 获取焦点时 滚动到页面顶部的实现
    C#入门经典-第15章Windows 编程
    C# 经典入门12章-System.Collections.Generic命名空间
    C# 经典入门12章-使用泛型-1
  • 原文地址:https://www.cnblogs.com/le-le666/p/11197354.html
Copyright © 2020-2023  润新知