面向过程编程与面向对象编程-创新互联
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应用场景
应用于需求经常变化的软件中,互联网应用,游戏等,都是基于面向对象的设计。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:面向过程编程与面向对象编程-创新互联
链接地址:http://myzitong.com/article/gjhop.html