zoukankan      html  css  js  c++  java
  • 面向过程编程与模块

    1、面向过程编程

     核心是过程二字,过程是指解决问题的步骤,即先干什么,然后干什么

    基于该思想编写程序就好比在设计一条流水线,是一种机械式的思维方式;

    优点 :复杂的问题流程化,进而简单化

    缺点:扩展性极差

    2、模块的使用

    1、什么是模块?

    模块是一些列功能的集合体,常见的模块形式(自定义模块,第三方模块,内置模块):

    (1)一个module.py就是一个模块,文件名是module.py,而模块名是module;

    (2)一个包含有__init__.py文件的文件夹也是模块

    (3)已被编译为共享库或DLL的c或C++扩展

    (4)使用c编写并链接到python解释器的内置模块

    2、为什么要用模块

    (1)用第三方或者内置的模块是一种拿来主义,可以极大的提高开发效率;

    (2)自定义模块即将我们自己程序中需要用到的公共的功能写入一个python 文件;然后程序的各部分组件可以通过导入的方式来引用/重用自定义模块中的功能

    3、如何用模块

    导入方式有两种

    (1)inport 模块名

    import首次导入模块的过程
    1、以模块为准创造一个模块的名称空间
    2、执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间
    3、在当前执行文件中拿到一个模块名
    import spam
    import spam #spam=spam=模块名称空间的内存地址
    模块的重复导入会直接引用之前创造好的结果,不会重复执行模块文件

    (2)from 模块名 import 具体功能

    导入过程:

    1,、以模块为准创造一个模块空间

    2、执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间;

    3、在当前执行文件的名称空间中拿到一个名字,该名字直接指向模块中的摸一个名字,可以不用加任何前缀而直接使用

    (3)from..import ..对比inport....

    优点:不用加前缀,代码更为精简

    缺点:容易与当前执行文件中名称空间的名字冲突

    相同点:都会执行模块对应的文件,都会产生模块的名称空间;调用功能时需要到定义阶段寻找作用域关系,与调用位置无关

    不同点:一种需要加前缀,一种不需要加前缀

    4、模块的搜索路径

    一个py文件就是一个模块,在导入时必须从某一个文件夹找到该py 文件

    模块的搜索路径指的是在导入模块时需要检索的文件夹

    导入模块时查找模块的顺序是:

    1、先从内存中已经导入的模块中寻找;

    2、内置模块;

    3、环境变量sys.path中找

    (sys.path的第一个值是当前执行文件所在的文件夹)

    import sys
    print(sys.path) #查找当前执行文件的路径

    import sys  #导入sys模块
    (sys.path).append(r'F:objectpython2期day 15') #当前执行文件的路径与所调用的模块路径不一致
    # 那么将所调用的模块路径加入环境变量
    import mokuai #导入模块
    mokuai.index() #导入模块的某一功能

    5、软件开发的目录规范
    ATM 项目名
    bin 可执行文件入口
    start 代码
    conf 数据库路径,配置信息,所有文件都可以引用
    settings
    lib 共享功能
    common
    core 核心逻辑,源代码
    src
    db 数据文件
    db.txt
    log 记录日志,操作信息,错误信息
    log.txt
    Readme 项目使用规范,注意事项介绍



  • 相关阅读:
    Android对包名和类名是否存在的判断
    Android权限表
    论艺术的背后还有纪律
    jeecgboot/IDEA中 debug不行,run可以
    java集合类
    HashMap、HashTable、LinkedHashMap和TreeMap用法和区别
    protobuf序列化算法原理
    谁能帮我看看着究竟是什么问题呀,我在本机运行都是好好的,但在别人的机子上运行就出这个呢?我快疯了!!!
    VS删除空白行
    POJ 2516 Minimum Cost
  • 原文地址:https://www.cnblogs.com/quqinchao/p/9189060.html
Copyright © 2011-2022 走看看