python 物件導向基礎知識

來源:互聯網
上載者:User

標籤:高清   應用   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 物件導向基礎知識

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.