面向過程編程與面向?qū)ο缶幊?/h1>

1.編程范式

編程語言中,編程方式主要有兩種:
1.面向過程編程
2.面向?qū)ο缶幊?/p>

成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

1.1面向過程編程

1.1.1概念

面向過程編程,核心是"過程",關(guān)注的是解決問題的步驟,即先做什么再做什么。面向過程的編程就像一個流水線,是一種機械式的思維。若程序一開始是要著手解決一個大問題,面向過程的編程思維會把一個大問題分解為很多個小問題,這些小問題還可以繼續(xù)分解,直到小問題足夠簡單可以在一個小步驟中解決。

1.1.2優(yōu)點

復(fù)雜問題流程化,進而簡單化

"下面是一個面向過程的例子,寫一個數(shù)據(jù)備份程序,主要分為三步:
1.本地數(shù)據(jù)打包
2.上傳到云服務(wù)器
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():
    #步驟一:本地數(shù)據(jù)打包
    zip_file = data_backup("c:\\users\\alex\歐美100G高清無碼")

    #步驟二:上傳至云服務(wù)器
    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缺點

可擴展性差。
一套流程主要用于解決一個問題,如果其中一個方法修改了,那其他組件也要跟著作相應(yīng)的修改

"比如我們修改步驟二函數(shù)cloud_upload的邏輯,那么步驟三函數(shù)也要修改,牽一發(fā)動全身"

#!/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): #這里修改為:加上異常處理,在出現(xiàn)異常的情況下,沒有l(wèi)ink返回
    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): #那么這里也要跟著修改:加上對參數(shù)link的判斷
    if link:
        print("\n下載文件: %s , 驗證文件是否無損" %link)
    else:
        print('\n鏈接不存在')
def main():
    #步驟一:本地數(shù)據(jù)打包
    zip_file = data_backup("c:\\users\\alex\歐美100G高清無碼")

    #步驟二:上傳至云服務(wù)器
    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應(yīng)用場景

面向過程主要用于功能一旦實現(xiàn)后就很少需要改變的場景
如:linux中的shell腳本,就是按步驟,按順序依次執(zhí)行
著名的有l(wèi)inux內(nèi)核,Git,及Apache HTTP Server。
但如果處理復(fù)雜的任務(wù),且需要不斷迭代和維護的,就需要使用面向?qū)ο罅恕?/p>

1.2面向?qū)ο缶幊?/h3>

1.2.1概念

面向?qū)ο缶幊?,對象是特征與技能的集合體。
世界上所有事物都可以說是一個對象,例如人,特征是有鼻子眼睛四肢,技能是行走,吃飯,學(xué)習。

1.2.2優(yōu)點

解決了面向過程的可擴展性問題。

1.2.3缺點

編程復(fù)雜度較高
如果shell腳本中使用面向?qū)ο缶幊?,反而會使代碼變得更加復(fù)雜

1.2.4應(yīng)用場景

應(yīng)用于需求經(jīng)常變化的軟件中,互聯(lián)網(wǎng)應(yīng)用,游戲等,都是基于面向?qū)ο蟮脑O(shè)計。

網(wǎng)站題目:面向過程編程與面向?qū)ο缶幊?/a>
地址分享:
http://www.muchs.cn/article4/jiopoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、企業(yè)建站網(wǎng)站改版、面包屑導(dǎo)航App設(shè)計、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)