」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼重新固定`super()`打破python代碼?

為什麼重新固定`super()`打破python代碼?

發佈於2025-03-23
瀏覽:529

 Why Does Rebinding `super()` Break Your Python Code? 
的原因是D.R.Y. (不要重複自己)原理。明確將呼叫類命名為“超級階級”的呼叫類違反了這一原則,並增加了重生問題的風險。此外,使用更改類名稱的類裝飾器還會破壞對原始類對象的引用。

通過在包含super()函數的閉合中創建一個隱形

cells來創建一個super()的魔術實現,避免這些問題的魔法實現。單元格引用原始類對象,以確保超級()始終可以訪問正確的超類,即使超級名稱是反彈的。 雖然這種行為似乎令人驚訝,但重要的是要注意,super()經常被濫用。通過簡化呼叫語法並避免無限遞歸陷阱,更新的實現有助於防止錯誤。

如果超級為籃板,則在方法中引用

class

在恢復其功能。這是因為當方法中使用super或

時創建單元格。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3