91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

詳解Python:面向對象編程

發布時間:2020-08-19 20:05:56 來源:腳本之家 閱讀:135 作者:Tendency1060 欄目:開發技術

面向過程的程序設計把計算機程序視為一系列的命令集合,即一組函數的順序執行。為了簡化程序設計,面向過程把函數繼續切分為子函數,即把大塊函數通過切割成小塊函數來降低系統的復雜度

python和java都是面向對象的語言。面向對象編程的特點數據封裝、繼承和多態

1.類和實例

面向對象最重要的概念就是類(Class)和實例(Instance),必須牢記類是抽象的模板,比如Student類,而實例是根據類創建出來的一個個具體的“對象”,每個對象都擁有相同的方法,但各自的數據可能不同。
在python中,定義類同樣也是使用class關鍵字,class后面緊跟著的是類名,需要開頭大寫,之后的括號里表示的是繼承的哪個類,即它的父類。

class Student(object):
  pass

我們可以自由地給這個變量綁定屬性

>>>nick.name = 'Liu Ling Hao'
>>>nick.name
'Liu Ling Hao'

而之后定義的不同的函數則是方法。總結來說對象=屬性+方法
由于類可以起到模板的作用,因此,可以在創建實例的時候,把一些我們認為必須綁定的屬性強制填寫進去。此時就需要用到比較特殊的__init__方法。(int 前后各有兩個下劃線)
__init__方法的第一個參數永遠是self,表示創建的實例本身。

class Student(object):
  def __init__(self, name, score):
    self.name = name
    self.score = scor
>>> bart = Student('Bart Simpson', 59)
>>> bart.name
'Bart Simpson'
>>> bart.score
59

當有了__init__方法之后,在創建實例的時候,就不能傳入空的參數了,必須傳入與__init__方法匹配的參數

2.封裝,繼承和多態

面向對象編程的一個重要特點就是數據封裝。
就像上面例子中的name和score,我們可以直接在類的內部定義的函數去訪問,,比如可以添加一個數據或者對于一個列表進行排序,我們可以實現,但是我們并不知道它的內部是通過如何調節而實現的。

當我們定義一個class的時候,可以從某個現有的class繼承,新的class稱為子類(Subclass),而被繼承的class稱為基類、父類或超類(Base class、Super class)。

繼承的好處就是獲得了父類的全部功能,對于子類而言,可以在父類的基礎上接著寫,更加方便

class Person(object):
  def idea(self):
    print('study is happy')
class Liu(Person):
  pass
liu =Liu()
liu.idea

study is happy

當然子類如果有和父類同樣的方法時會自動覆蓋掉父類的

多態:不同對象對同一方法響應不同的行動

>>>class Nick1:
  def name(self):
     	 print("我是1")
>>>class Nick2:
  def name(self):
  		 print("我是2") 
>>>a = Nick1()
>>>b = Nick2()
>>>a.name
我是1
>>>b.name
我是2

使用的函數名雖然一樣但是實現并不一樣。

def run(animal):
  animal.run()
  animal.run()
  >>> run(Animal())
Animal is running...
Animal is running...
>>> run_twice(Dog())
Dog is running...
Dog is running... 

多態的好處就是,當我們需要傳入Dog或者其它動物時,我們只需要接收Animal類型就可以了,因為Dog都是Animal類型,然后,按照Animal類型進行操作即可。由于Animal類型有run()方法,因此,傳入的任意類型,只要是Animal類或者子類,就會自動調用實際類型的run()方法,這就是多態

以上所述是小編給大家介紹的Python面向對象編程詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

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

AI

睢宁县| 共和县| 淮北市| 天长市| 陇川县| 新竹市| 廉江市| 桐柏县| 乡宁县| 彭山县| 泰宁县| 城市| 鹤壁市| 灵武市| 永丰县| 五家渠市| 寿光市| 湟中县| 隆化县| 丹阳市| 博爱县| 弥渡县| 黔东| 伊金霍洛旗| 依兰县| 开化县| 普陀区| 长春市| 泰顺县| 通化市| 本溪| 大新县| 淮阳县| 玉田县| 古浪县| 秦安县| 封丘县| 平安县| 嵊泗县| 宁南县| 孝义市|