第78p,解決多繼承的「菱形問題」

2020-12-27 楊數Tos

大家好,我是楊數Tos,這是《從零基礎到大神》系列課程的第78篇文章,第三階段的課程:Python進階知識:類與對象(九);解決多繼承的「菱形問題」。

一、如何解決多繼承的問題

首先,一般情況下不建議使用多繼承;因為這樣不僅會使代碼可讀性變差,也很容易產生多繼承的深度優先與廣度優先問題;

假設:當一個子類有多個父類時,如果所有父類中都有變量X,而且父類的父類(祖父類)中也有變量X;那Python解釋器在讀取變量X的值時,是取父類A的值好還是取父類B的值好?

如圖:

這種情況下,Python解釋器是根據當前類的MRO列表順序進行查找;

所謂MRO列表是指:對於你定義的每一個類,不管有沒有繼承關係,Python都會計算出方法解釋順序列表【MRO】,該MRO列表就是一個簡單的所有基類線性順序列表;

列印類的MRO列表方法:類名.mro()。

二、使用Mixin機制解決多繼承的問題

Mixin機制的核心就是在多繼承的背景下儘可能提升多繼承的可讀性。

比如:在Python中是沒有常量的,但是我們默認名全部由大寫字母組成的變量就是常量,我們不會去修改它的值;這樣的話,雖然在Python語法層面並沒有常量出現,但在我們的認知中出現了變量;

所以在多繼承中,我們用Mixin這個詞來區別這個父類的情況,如果一個類繼承了多個父類,我們把將一些用來當作輔助功能的類名上添加上Mixin,表示表示這個父類是輔助的,

最後:說明一點Mixin是一種編程思想,並不是具體的Python語法。

以上是本期內容,如果有表達不對的內容,歡迎您的留言、斧正,我們一起天天向上。

感謝您的閱讀,您的三連【關注、點讚、收藏】就是對我最大的支持,謝謝!

本文由楊數Tos原創,歡迎關注,帶你一起長知識。

相關焦點

  • 第76p,單繼承與多繼承,多繼承的問題
    大家好,我是楊數Tos,這是《從零基礎到大神》系列課程的第76篇文章,第三階段的課程:Python進階知識:類與對象(七);面向對象編程3大特性之繼承。
  • Python多繼承、super與MRO算法
    任何面向對象程式語言都會支持繼承,Python也不例外。但Python語言卻是少數幾個支持多繼承的面向對象程式語言(另一個著名的支持多繼承的程式語言是C++)。本文將深入闡述Python多繼承中經常用到的super,並且會展示一個你所不知道的super。相信繼承的概念大家一定不會陌生。
  • 中考數學專題複習:第21講 菱形的判定與性質及其壓軸題
    第21講 菱形的判定與性質及其壓軸題考點分析1、菱形的定義:有一組鄰邊相等的平行四邊形是菱形。(2)解直角三角形求出DF、OE、OF即可解決問題;類型二、菱形的判定【解後感悟】根據平行四邊形的性質以及全等三角形的判定方法證明出△DOE≌△BOF,得到OE=OF,利用對角線互相平分的四邊形是平行四邊形得出四邊形EBFD是平行四邊形,進而利用對角線互相垂直的平行四邊形是菱形得出四邊形
  • c++虛繼承,多繼承
    理解這兩個重要的C++特性後解決這個問題就比較輕鬆了。下面我們詳解這幾條輸出語句。虛繼承什麼是虛繼承?它與一般的繼承有什麼不同?它有什麼用?虛擬繼承是多重繼承中特有的概念。虛擬基類是為解決多重繼承而出現的。請看下圖:
  • 代數與幾何的完美碰撞:直角坐標系中的菱形問題
    歡迎來到百家號「米粉老師說數學」,直角坐標系中出現菱形,是一種很正常的現象,就像坐標系中出現平行四邊形或三角形,體現函數與幾何綜合,一直都是初中數學的一個特色。今天我們就來說一說,一次函數與菱形的存在性問題.
  • 二次函數存在性問題專題(第八輯:矩形、菱形存在性問題)
    這節課重點在平行四邊形存在性問題基礎上研究矩形、菱形存在性問題,下邊我們仍以一道例題為例,開始本節課的講解。二、特殊四邊形之菱形存在性問題解法分析:類比平行四邊形存在性問題的解法,解決問題時仍考慮分兩類情況:定線段AC為邊、定線段AC為對角線,由菱形的性質可知,菱形的四條邊都是相等的,結合這一特性,可以考慮使用考慮「兩圓」構圖,準確做出圖形,然後依據圖形特徵設計方案求解。
  • 初三數學每日一題第278題 (四邊形【菱形】的面積最值問題3)
    求四邊形面積的最值,首先判斷四邊形的形狀,若是「規則」(特殊)的四邊形【比如,正方形,矩形,菱形
  • 掌握這類技巧和例題,讓你中考一次函數與菱形存在性問題得滿分...
    ,菱形的存在性問題要如何解決呢?點晴2:菱形的存在性問題,通常藉助轉化探究思想來分析,將複雜、陌生問題轉化為簡單、熟悉問題解決.如:①菱形存在性問題(兩定兩動)轉化為__等腰三角形__________存在性問題;以定線段作為_腰和邊________確定分類標準,利用____兩圓一線____確定一動點的位置,然後通過平移確定另一動點坐標.②菱形存在性問題
  • 中考數學複習第16課時,矩形、菱形和正方形的考點都在這裡
    矩形、菱形、正方形的性質與判定,是初中數學中的難點問題,下面分享矩形、菱形和正方形的考點,所有考點都詳細總結在這裡,希望能幫助大家提高複習效率。矩形的判定和性質是中考核心考點之一,證明一個四邊形是矩形的基本思路:(1)若四邊形(或可證)為平行四邊形,則再證一個角是直角或對角線相等;(2)若直角較多,可證三個角是直角。
  • 微課《菱形的定義和性質》
    掌握菱形的定義和性質,並會用它們解決問題。            讓數學多點趣味,讓生活多點數學!數學是所有學科的基礎,它不應是乏味的,數學的學習應是豐富有趣的,讓我們一起傳播數學知識,展示數學魅力!                  小會老師與你同行!       喜歡我,就關注我,轉發我!     點擊下方的「閱讀原文」可以進入觀看所有微課。可以在優酷搜索「小會老師微課堂」。
  • 中考難點突破,棘手的二次函數背景下的菱形存在性問題
    二次函數和菱形存在性問題作為壓軸題目,結合了「分類討論思想」,「方程思想」「菱形的判定方法」,勢必要比單純的菱形判定思考難度要大得多,因此我在研究了近些年中考真題之後嘗試性地總結一下菱形存在性問題的通用解法,以供大家參考.
  • 西安繼承律師|繼承案件爭議焦點問題分析
    繼承糾紛是我們日常生活中常見糾紛類型,也關乎我們每個人的切身利益,合理妥善解決繼承糾紛有利於化解家庭矛盾,維護家庭的和諧穩定。本期文章樂思律師帶您分析繼承糾紛爭議焦點問題。撫恤金是被繼承人死亡後,被繼承人的近親屬因此獲取的相應撫慰性補償,不屬於被繼承人生前所擁有的個人財產。喪葬費屬於第三方基於被繼承人死亡後支付的安葬費用,該費用不屬於被繼承人的生前財產,一般將其用於被繼承人死亡後相關善後事宜的處理。
  • 二次函數背景下菱形的存在性問題處理策略(除魔之劍第34集)
    通過這個題目:老李主要想和大家一起複習鞏固平行四邊形及菱形存在性問題的兩種處理策略。處理菱形的存在性問題,首先要使得目標四邊形變為平行四邊形,所以只要學會弄懂平行四邊形的存在性問題處理方法,再加上一組鄰邊相等就可以啦。平行四邊形的存在性問題有兩種處理方法:一種叫做平移法;另一種叫做中點法。具體操作和思路課件裡圖文並茂,講的很清楚,大家一定要認真學習,課後乘熱打鐵,總結反思,使之內化為自己的能力。
  • 初二數學期末總複習1:菱形的判定方法總結大全 7個例題講透菱形
    所判定的對象是普通四邊形所添加的條件就多,需要四邊相等或對角線垂直平分。【反思與小結】直角三角形斜邊上的中線等於斜邊的一半是一個非常重要的定理,看到題目中有中點,有直角就要考慮用這個定理解決問題。(2)由△AOE≌△COF,得出對應邊相等AE=CF,證出四邊形AFCE是平行四邊形,再由對角線EF⊥AC,即可得出四邊形AFCE是菱形.【反思與小結】第二問是一個條件開放式問題,在思考的時候從要滿足的結論四邊形AFCE是菱形入手思考。這也是條件開放式問題的一般思考方法。
  • python | 關於多重繼承那些事
    什麼是多重繼承繼承是面向對象編程的一個重要的方式 ,通過繼承 ,子類就可以擴展父類的功能 。和 c++ 一樣 ,在 python 中一個類能繼承自不止一個父類 ,這叫做 python 的多重繼承(Multiple Inheritance )。多重繼承的語法與單繼承類似 。
  • 菱形的性質教學設計
    課堂再以小組為單位交流,找出還存在的問題,並在小黑板上扼要展示本節重點內容和存在的問題。注意雙色筆的使用,書寫工整。1、預習內容:自學課本2頁—3頁,完成隨堂練習。1.將一張矩形的紙對摺再對摺,然後沿著圖中的虛線剪下,再打開,你發現這是一個什麼樣的圖形呢?
  • 《民法典》頒布,你關心的繼承問題應該這樣解決
    張某的兩個姐姐認為錄像形式的遺囑並非有效遺囑,父母遺產應該按法定繼承方式分割。   【說法】現實生活中經常出現一個人立有多份遺囑的情況,雖然現行繼承法規定以最後一份為準,但如有公證遺囑,則以公證遺囑為準。民法典對此作出修改,刪除了公證遺囑效力優先的規定。   民法典第一千一百四十二條規定,遺囑人可以撤回、變更自己所立的遺囑。
  • 父親的遺產繼承很糾結?公證處解決』說走就走』的婚姻遺留問題
    本網訊 (記者 李凌峰 通訊員 李釩釩 編輯 餘夢娜)「她在我八歲的時候離開了我父親,早已跟別人在一起,有了自己的家庭……而且這房子也是我父親在母親離開後建造的……」近日,當事人陸某前來縣公證窗口辦理法定繼承時說
  • 繼承糾紛訴訟時效法律適用問題研究
    為統一法律適用,本文擬在考察我國涉民通意見第177條的繼承糾紛適用訴訟時效現狀之基礎上,剖析此類案件實質上屬於物權確認及物的分割案件,以共有權確認及共有物分割糾紛不適用訴訟時效制度為解決途徑,以期能達到拋磚引玉之效。  一、一起案例引發的思考  原告楊秀敏與被告楊同系姐弟關係,原告喻金系原告楊秀敏之外甥女。
  • 涉外繼承相關法律問題
    問題:A的丈夫B在美國去世,得到一筆賠償金,B在中國的父親C要求繼承該筆賠償金。 該筆賠償金應如何分配?涉外繼承的管轄問題在我國,對於涉外繼承案件實行專屬管轄。根據我國民事訴訟法第33條第3款的規定,因繼承遺產糾紛提起的訴訟,由被繼承人死亡時住所地或者主要遺產所在地人民法院管轄。