亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

面向過程編程與面向對象編程

發布時間:2020-08-05 01:13:23 來源:網絡 閱讀:304 作者:DevOperater 欄目:編程語言

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應用場景

應用于需求經常變化的軟件中,互聯網應用,游戲等,都是基于面向對象的設計。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘洛县| 灵寿县| 高陵县| 出国| 济南市| 共和县| 衡山县| 阜城县| 定结县| 科尔| 新巴尔虎右旗| 兴文县| 东乡| 安平县| 淄博市| 东兴市| 南江县| 屏边| 乌鲁木齐县| 万年县| 钟祥市| 屏南县| 栖霞市| 砀山县| 麦盖提县| 师宗县| 东方市| 德钦县| 广丰县| 七台河市| 邮箱| 绵竹市| 白山市| 瓮安县| 信丰县| 库尔勒市| 来凤县| 吉木萨尔县| 东安县| 阿鲁科尔沁旗| 竹北市|