搜尋
首頁後端開發Python教學python是物件導向還是面向過程?

python是物件導向的,第一個公開發行版發行於1991年,Python語法簡潔而清晰,具有豐富和強大的類別庫。

python是物件導向還是面向過程?

Python是一種物件導向、解釋型電腦程式設計語言,由Guido van Rossum於1989年底發明,第一個公開發行版發行於1991年,Python 原始碼同樣遵循GPL(GNU General Public License)協議。 Python語法簡潔而清晰,具有豐富且強大的類別庫。

物件導向與過程導向的差異

一、過程導向

  1、過程導向:核心是過程二字,過程指的是解決問題的步驟,好例如設計一條流水線,是一種機械式的思考方式。

     就是程式從上到下一步步驟執行,一步步從上到下,從頭到尾的解決問題 。基本設計想法就是程式一開始是要著手解決一個大的問題,然後把一個大問題分解成很多個小問題或子過程,這些子過程再執行的過程再繼續分解直到小問題足夠簡單到可以在一個小步驟範圍內解決。

  2、優缺點:

       優點:將複雜的問題流程化,進而簡化。

       缺點:擴展性差

  3、實例:面向過程式的登入註冊程序

View Code

#  注意:一般認為, 如果你只是寫寫一些簡單的腳本,去做一些一次性任務,用過程導向的方式是極好的,但如果你要處理的任務是複雜的,且需要不斷迭代和維護的, 那還是用面向對象最方便。

 

二、物件導向

  1、物件導向:核心是物件二字,特徵和技能的結合體。

  2、優缺點:

      優點:可擴展性高

      缺點:編程複雜度高

  3、應用場景:用戶需求經常變化,網路應用,遊戲,企業內應用程式等。

  4、關於物件導向的幾個名詞解釋   

    類別:一個類別即是對一系列物件相似的特徵和技能的結合體,如同一個範本。在類別中定義了這些物件的都具備的屬性,共同的方法。

    屬性:人類包含很多特徵,把這些特徵用程式來描述的話,叫做屬性,例如年齡、身高、性別、姓名等都叫做屬性,一個類別中,可以有多個屬性。

    方法:人類不止有身高、年齡、性別這些屬性,還能做好多事情,比如說話、走路、吃飯等,相比較於屬性是名詞,說話、走路是動詞,這些動詞用程序來描述就叫做方法。

    實例(對象):一個物件就是一個類別的實例化後的實例,一個類別必須經過實例化後方可在程式中調用,一個類別可以實例化多個對象,每個物件亦可以有不同的屬性,就像人類是指所有人,每個人是指具體的對象,人與人之前有共性,亦有不同。

    實例化:把一個類別轉變為一個物件的過程就叫實例化。

  5、簡單實例

# 现实世界中的对象:
'''
对象1 
    特征
        职业:学生
        姓名:王二
        性别:男
        年龄:22
    技能
        学习
        打游戏
对象2
    特征 
        职业:学生
        姓名:张三
        性别:男
        年龄:20
    技能
        学习
        打游戏
        看书
对象3 
    特征 
        职业:学生
        姓名:婉婉
        性别:女
        年龄:18
    技能
        学习
        打游戏
        看书
现实中的类:
    特征:
        职业:学生
    技能:
        学习
        打游戏
        看书
在程序中:
'''
# 先有类
class School_learn:
    job = 'student'
    def study(self):
        print('study hard!')
    def play_game(self):
        print('play games as little as you can')
    def read(self):
        print('read books more and more')
# 再调用类产生对象
student1 = School_learn()
student2 = School_learn()
student3 = School_learn()
print(student1) # <__main__.School_learn object at 0x000002B70F8D7588> 对象
print(student2)
print(student3)

三、物件導向三大特性

    封裝(Encapsulation):在類別中對資料的賦值、內部呼叫對外部使用者來說是透明不可見的,這使類別變成了一個膠囊或容器,裡麵包含著類別的資料和方法。

    繼承(Inheritance):一個類別可以衍生出子類,在這個父類別裡定義的屬性、方法自動被子類別繼承。

    多態(Polymorphism):多態是面向對象的重要特性,簡單點說:“一個接口,多種實現”,指一個基類中派生出了不同的子類,而每個子類別在繼承了同樣的方法名的同時又對父類別的方法做了不同的實現,這就是同一種事物表現出的多種形態。

注意:這裡只是簡單說明下幾大特性,後續我們會深入探討的。

更多相關免費學習推薦:python影片教學

以上是python是物件導向還是面向過程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python的主要目的:靈活性和易用性Python的主要目的:靈活性和易用性Apr 17, 2025 am 12:14 AM

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python:多功能編程的力量Python:多功能編程的力量Apr 17, 2025 am 12:09 AM

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

每天2小時學習Python:實用指南每天2小時學習Python:實用指南Apr 17, 2025 am 12:05 AM

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。

Python與C:開發人員的利弊Python與C:開發人員的利弊Apr 17, 2025 am 12:04 AM

Python適合快速開發和數據處理,而C 適合高性能和底層控制。 1)Python易用,語法簡潔,適用於數據科學和Web開發。 2)C 性能高,控制精確,常用於遊戲和系統編程。

Python:時間投入和學習步伐Python:時間投入和學習步伐Apr 17, 2025 am 12:03 AM

學習Python所需時間因人而異,主要受之前的編程經驗、學習動機、學習資源和方法及學習節奏的影響。設定現實的學習目標並通過實踐項目學習效果最佳。

Python:自動化,腳本和任務管理Python:自動化,腳本和任務管理Apr 16, 2025 am 12:14 AM

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

Python和時間:充分利用您的學習時間Python和時間:充分利用您的學習時間Apr 14, 2025 am 12:02 AM

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python:遊戲,Guis等Python:遊戲,Guis等Apr 13, 2025 am 12:14 AM

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器