zoukankan      html  css  js  c++  java
  • Python的编程思想之面向过程

    编程思想/范式:就是解决问题的套路。
    编程思想:武林的门派

    面向过程:少林派(面向过程式编程的基础,以后所有的编程思想都是基于此)
    函数式:华山派
    面向对象:武当派

    面向过程的编程思想:
    核心:过程(即流程),过程就是做事的步骤:先干什么?再干什么?最后干什么?
    基于该思想编写程序就好比在设计一条流水线

    流水线:
    优点:将复杂的问题流程化,进而简单化。
    缺点:牵一发动全身,扩展性非常差。

    面向对象:针对扩展性有了很好的改良。

    面向过程的编程思想应用场景解析:
    1、不是所有软件都是需要频繁更迭。比如编写脚本文件。
    2、即便是所有的软件需要频繁更迭,并不代表这个软件的所有的组成部分都需要一起更迭。
    3、针对不需要更迭的部分还需要使用面向过程的思想。
    4、框架的设计思路是某种流程。
    import os,time
    
    # 一:基于本章所学,我们可以用函数去实现这一个个的步骤
    # 1、本地数据打包
    def data_backup(folder):
        print("找到备份目录: %s" %folder)
        print('正在备份...')
        zip_file='/tmp/backup_%s.zip' %time.strftime('%Y%m%d')
        print('备份成功,备份文件为: %s' %zip_file)
        return zip_file
    
    #2、上传至云服务器
    def cloud_upload(file):
        print("
    connecting cloud storage center...")
        print("cloud storage connected")
        print("upload [%s] to cloud..." %file)
        link='https://www.xxx.com/bak/%s' %os.path.basename(file)
        print('close connection')
        return link
    
    #3、检测备份文件可用性
    def data_backup_check(link):
        print("
    下载文件: %s , 验证文件是否无损..." %link)
    
    
    #二:依次调用
    # 步骤一:本地数据打包
    zip_file = data_backup(r"/Users/egon/欧美100G高清无码")
    
    # 步骤二:上传至云服务器
    link=cloud_upload(zip_file)
    
    # 步骤三:检测备份文件的可用性
    data_backup_check(link)
    面向过程总结:
    1、优点:将复杂的问题流程化,进而简单化
    2、缺点
    '''
    程序的可扩展性极差,因为一套流水线或者流程就是用来解决一个问题,就好比生产汽水的流水线无法生产汽车一样,即便是能,也得是大改,而且改一个组件,
    与其相关的组件可能都需要修改,比如我们修改了cloud_upload的逻辑,那么依赖其结果才能正常执行的data_backup_check也需要修改,这就造成了连锁反应,
    而且这一问题会随着程序规模的增大而变得越发的糟糕。
    ''' def cloud_upload(file): # 加上异常处理,在出现异常的情况下,没有link返回 try: print(" connecting cloud storage center...") print("cloud storage connected") print("upload [%s] to cloud..." %file) link='https://www.xxx.com/bak/%s' %os.path.basename(file) print('close connection') return link except Exception: print('upload error') finally: print('close connection.....') def data_backup_check(link): # 加上对参数link的判断 if link: print(" 下载文件: %s , 验证文件是否无损..." %link) else: print(' 链接不存在')
    3、应用场景
    面向过程的程序设计一般用于那些功能一旦实现之后就很少需要改变的场景, 如果你只是写一些简单的脚本,去做一些一次性任务,
    用面向过程去实现是极好的,但如果你要处理的任务是复杂的,且需要不断迭代和维护, 那还是用面向对象最为方便。
    
    
  • 相关阅读:
    opencv-python与c++ opencv中的一些区别和基础的知识
    使用TensorFlow Object Detection API+Google ML Engine训练自己的手掌识别器
    使用Google Cloud Platform构建机器学习项目-宠物识别
    dlib下训练自己的物体检测器--手的检测
    python学习--Linux下dlib安装(主要是cmake和boost的安装)
    Python学习--使用dlib、opencv进行人脸检测标注
    《Python网络编程》学习笔记--UDP协议
    《Python网络编程》学习笔记--从例子中收获的计算机网络相关知识
    《Python网络编程》学习笔记--使用谷歌地理编码API获取一个JSON文档
    Spring Cloud Gateway:使用ReadBodyPredicateFactory读取request的body,可能无法匹配404
  • 原文地址:https://www.cnblogs.com/liunaixu/p/12673650.html
Copyright © 2011-2022 走看看