如何解決 Python 中 Mixin 類別的類型提示的循環導入問題?

Linda Hamilton
發布: 2024-10-23 13:35:30
原創
773 人瀏覽過

How to Resolve Cyclic Import Issues for Type Hinting with Mixin Classes in Python?

無需循環導入的Python 類型提示

問題:

問題:

導入具有循環相依性的模組引入類型提示與mixin 類別結合使用時的運行時異常。

詳細資料:

在Python 3.4 中,一個類別被分成兩個檔案(main.py 和mymixin) .py),其中mymixin.py 包含一個mymixin.py 包含一個mixin 類,此類別繼承自main.py 中的主類別(即類別Main(object, MyMixin):)。 MyMixin 方法中的類型提示需要將傳回類型指定為 'Main',從而導致循環匯入問題。

Python 3.4 解:

繞過迴圈匯入 while型提示,採用使用前向宣告的自訂方法。透過使用「typing」模組中的「TYPE_CHECKING」常數,類型註解區塊中的導入語句在執行時將被忽略。 'Main' 類型註解也會轉換為字串來轉送宣告。

Python 3.7 解(PEP 563):

使用'from

future import 註解的導入語句,所有類型解都會變成字元串,並在運行時評估期間被跳過,從而使前向聲明語法更清晰。 儘管有這些解決方法,使用具有類型提示的 mixins 可能仍然需要重構以確保PyCharm 和 mypy 類型檢查都按預期工作。 Mypy 建議建立一個 ABC,主類別和 mixin 類別都繼承自該 ABC。

以上是如何解決 Python 中 Mixin 類別的類型提示的循環導入問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!