0
我在PEP8中看到,接受的最佳導入方法是將所有導入放在模塊的頂部。我想知道如果這仍然是這種情況,如果你想在同一個模塊中有多個具有不同導入需求的子類。模塊內需要不同導入的多個類的最佳實踐?
具體來說,我正在製作一個通用的DataConnector
類來讀取不同來源的數據,然後將這些數據放入熊貓數據框。我將擁有讀取不同數據源的子類。例如,一個子類將是,另一個子類是PGdatabaseConnector(DataConnector)
。 Csv子類將需要導入csv
,PGdatabase類將需要導入psycopg2
。最好的做法仍然是將所有進口都保留在整個模塊的頂部?
(從邏輯上看,所有類都應該包含在一個模塊中,但我也可以看到將它們全部放在不同的模塊中,然後我不必擔心導入不會使用的庫。)
除非您希望應用程序在部分模塊可用的情況下仍能部分運行。我認爲OP希望能夠在同一個模塊中有條件地導入每個類(請記住,Python不是Java,您可以在同一個模塊中有多個類)。 – cowbert