面向过程编程与面向对象编程
admin
2023-07-08 21:24:31
0次

1.编程范式

编程语言中,编程方式主要有两种:
1.面向过程编程
2.面向对象编程

1.1面向过程编程

1.1.1概念

面向过程编程,核心是"过程",关注的是解决问题的步骤,即先做什么再做什么。面向过程的编程就像一个流水线,是一种机械式的思维。若程序一开始是要着手解决一个大问题,面向过程的编程思维会把一个大问题分解为很多个小问题,这些小问题还可以继续分解,直到小问题足够简单可以在一个小步骤中解决。

1.1.2优点

复杂问题流程化,进而简单化

"下面是一个面向过程的例子,写一个数据备份程序,主要分为三步:
1.本地数据打包
2.上传到云服务器
3.测试备份文件的可用性"

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: vita
import os

def data_backup(folder):
    print("找到备份目录: %s" %folder)
    print('正在备份......')
    zip_file='/tmp/backup20181103.zip'
    print('备份成功,备份文件为: %s' %zip_file)
    return zip_file

def cloud_upload(file):
    print("\nconnecting cloud storage center...")
    print("cloud storage connected.")
    print("upload file...%s...to cloud..." %file)
    link='http://www.xxx.com/bak/%s' %os.path.basename(file)
    print('close connection.....')
    return link

def data_backup_test(link):
    print("\n下载文件: %s , 验证文件是否无损" %link)

def main():
    #步骤一:本地数据打包
    zip_file = data_backup("c:\\users\\alex\欧美100G高清无码")

    #步骤二:上传至云服务器
    link=cloud_upload(zip_file)

    #步骤三:测试备份文件的可用性
    data_backup_test(link)

if __name__ == '__main__':
    main()

E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
找到备份目录: c:\users\alex\欧美100G高清无码
正在备份......
备份成功,备份文件为: /tmp/backup20181103.zip

connecting cloud storage center...
cloud storage connected.
upload file.../tmp/backup20181103.zip...to cloud...
close connection.....

下载文件: http://www.xxx.com/bak/backup20181103.zip , 验证文件是否无损

Process finished with exit code 0

1.1.3缺点

可扩展性差。
一套流程主要用于解决一个问题,如果其中一个方法修改了,那其他组件也要跟着作相应的修改

"比如我们修改步骤二函数cloud_upload的逻辑,那么步骤三函数也要修改,牵一发动全身"

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: vita
import os

def data_backup(folder):
    print("找到备份目录: %s" %folder)
    print('正在备份......')
    zip_file='/tmp/backup20181103.zip'
    print('备份成功,备份文件为: %s' %zip_file)
    return zip_file

def cloud_upload(file): #这里修改为:加上异常处理,在出现异常的情况下,没有link返回
    try:
        print("\nconnecting cloud storage center...")
        print("cloud storage connected.")
        print("upload file...%s...to cloud..." % file)
        link = 'http://www.xxx.com/bak/%s' % os.path.basename(file)
        return link
    except Exception:
        print('upload error')
    finally:
        print('close connection.....')

def data_backup_test(link): #那么这里也要跟着修改:加上对参数link的判断
    if link:
        print("\n下载文件: %s , 验证文件是否无损" %link)
    else:
        print('\n链接不存在')
def main():
    #步骤一:本地数据打包
    zip_file = data_backup("c:\\users\\alex\欧美100G高清无码")

    #步骤二:上传至云服务器
    link=cloud_upload(zip_file)

    #步骤三:测试备份文件的可用性
    data_backup_test(link)

if __name__ == '__main__':
    main()

E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
找到备份目录: c:\users\alex\欧美100G高清无码
正在备份......
备份成功,备份文件为: /tmp/backup20181103.zip

connecting cloud storage center...
cloud storage connected.
upload file.../tmp/backup20181103.zip...to cloud...
close connection.....

下载文件: http://www.xxx.com/bak/backup20181103.zip , 验证文件是否无损

Process finished with exit code 0

1.1.4应用场景

面向过程主要用于功能一旦实现后就很少需要改变的场景
如:linux中的shell脚本,就是按步骤,按顺序依次执行
著名的有linux内核,Git,及Apache HTTP Server。
但如果处理复杂的任务,且需要不断迭代和维护的,就需要使用面向对象了。

1.2面向对象编程

1.2.1概念

面向对象编程,对象是特征与技能的集合体。
世界上所有事物都可以说是一个对象,例如人,特征是有鼻子眼睛四肢,技能是行走,吃饭,学习。

1.2.2优点

解决了面向过程的可扩展性问题。

1.2.3缺点

编程复杂度较高
如果shell脚本中使用面向对象编程,反而会使代码变得更加复杂

1.2.4应用场景

应用于需求经常变化的软件中,互联网应用,游戏等,都是基于面向对象的设计。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...