首頁  >  文章  >  後端開發  >  python是物件導向還是面向過程?

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

coldplay.xixi
coldplay.xixi原創
2020-09-27 16:14:2519733瀏覽

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)

三、物件導向三大特性

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

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

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

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

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn