如何避免 Python 中的循環導入?

|

我知道 python 中的循環導入問題之前已經出現過很多次,並且我已經閱讀了這些討論。在這些討論中反复提出的評論是循環導入是不良設計的標誌,應重新組織代碼以避免循環導入。

有人可以告訴我如何避免循環導入在這種情況下?:我有兩個類,我希望每個類都有一個構造函數(方法),它接受另一個類的實例並返回該類的實例。

更具體地說,一個類是一個是可變的,一個是不可變的。哈希、比較等需要不可變類。可變類也需要做一些事情。這類似於集合和frozensets 或列表和元組。

我可以將兩個類定義放在同一個模塊中。還有其他建議嗎?

一個玩具示例是類 A,它的屬性是一個列表,類 B 的屬性是一個元組。然後 A 類有一個方法,它接受 B 類的實例並返回 A 類的實例(通過將元組轉換為列表),類似地,B 類有一個方法,它接受 A 類的實例並返回 B 類的實例(通過將列表轉換為元組)。

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method