码迷,mamicode.com
首页 > 编程语言 > 详细

python 面向对象基础知识

时间:2018-09-01 18:07:44      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:高清   应用   color   就是   面向对象   基础   data   ima   上传   

1、编码范式

编程  是程序员用特定的 语法+数据结构+算法 组成的代码来告诉计算机如何执行任务的过程

 如果把编程比作习武,编程方式就是武林中的各种流派,而在编程的世界里面最常见的两大流派是:面向过程和面向对象

“功夫的流派没有高低之分,只有习武的人才有高低之分“,在编程世界里更是这样,面向过程与面向对象在不同的场景下都各有优劣,谁好谁坏不能一概而论。

2、面向过程的程序设计

2.1、概念

核心是过程二字,过程 指的是解决问题的步骤,即先干什么再干什么,基于面向过程设计的程序就好比在设计一条流水线,是一种机械式的思维方式。若程序一开始要着手解决一个大的问题,

面向过程的基本设计思路就把这个大问题分解成多个小问题或子过程,这些子过程在执行的过程中继续分解,直到小问题足够简单到可以在一个小步骤范围内解决。

2.2、优点、缺点

优点:复杂的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单)

缺点:可维护性和可扩展性差

举个典型的面向过程的例子, 写一个数据远程备份程序, 分三步,本地数据打包,上传至云服务器,测试备份文件可用性。


import os

def data_backup(folder):
print(f"找到要备份的目录...{folder}",)
print("将备份文件打包,...")
zip_file = ‘/tmp/backup20181103.zip‘
print(f"备份成功,文件为{zip_file}")
return zip_file


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



def data_backup_test(link):
print(f‘\n下载文件{link}‘)

def main():
# 步骤一:本地数据打包
zip_file = data_backup("c:\\users\\alex\欧美100G高清无码")
# 步骤二:上传至云服务器
link = cloud_upload(zip_file)
# 步骤三:测试备份文件的可用性
data_backup_test(link)
if __name__ == ‘__main__‘:
main()
 

如果要修改其中一个子过程,其它子程序依赖这个子过程 , 那就会发生一连串的影响,随着程序越来越大, 这种编程方式的维护难度会越来越高。

好比:流水线上任意环节出现改动 都会对其后的流水线产生影响

更改:

技术分享图片

 

 缺点:牵一发动全身,扩展性极差,例如修改步骤,接着步骤三也要进行相应的修改。

2.3、应用场景

面向过程的程序设计思想一般用于那些功能一旦实现之后就很少需要改变的场景,如果你只写一些简单的脚本,去做一次性任务,用面向过程的方式极好。

著名的例子有Linux内核,以及ApacheHTTPServer等。但如果你处理的任务是复杂的,且要不断迭代和维护的,那就需要面向对象的程序设计

3、面向对象的程序设计

python 面向对象基础知识

标签:高清   应用   color   就是   面向对象   基础   data   ima   上传   

原文地址:https://www.cnblogs.com/foremostxl/p/9571044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!