簡體   English   中英

導入和名稱綁定最佳實踐

[英]Imports and name bindings best practice

這與:在 Python 中導入模塊 - 最佳實踐密切相關,但並未真正詳細討論以下情況。

如果我們有一個模塊coordinates ,它定義了一個類Coordinates和幾個實用函數來處理Coordinates類型。 做以下兩件事的推薦方法是什么:

  1. 導入完整的coordinates模塊
  2. 雖然結合Coordinatescoordinates.Coordinates

我現在看到的兩個選項:

import coordinates
from coordinates import Coordinates

但這似乎有點奇怪,另一方面,我看到的另一個解決方案似乎也不是很干凈:

import coordinates 
Coordinates = coordinates.Coordinates

這兩個中哪一個是最常用的或首選的方法? 或者也許這兩個都不應該使用,在這種情況下什么是更好的解決方案?

我正在考慮但我更願意避免的另一個選項是在引用的問題中提出的一個選項: import coordinates as crd ,然后簡單地使用crd.Coordinates而不是Coordinates 我想避免這種情況的原因是它會使我的代碼可讀性降低,特別是當我使用coordinates模塊中的函數時。 對於這個替代方案,我可能更喜歡簡單地調用coordinates.Coordinatescoordinates.Coordinates即使這看起來是多余的。

我還考慮過讓我的模塊可調用以使coordinates()自動調用Coordinates()但我也不確定這是否真的是一個好的解決方案(並且我不確定在這種情況下如何處理文檔)。

這是個人喜好的問題,但對於我自己,我會選擇:

from coordinates import Coordinates

除非,也就是說,您正在使用coordinates模塊中的三四個以上的東西,或者您從中導入的名稱之一與您從其他地方使用的名稱沖突。 在這兩種情況中的任何一種情況下,請使用

import coordinates

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM