請考慮以下Python模塊摘錄:Python模塊和對象名衝突
foo.py:
class Foo:
(...)
bar.py:
import foo
foo = foo.Foo()
變量foo,它是一個模塊對象,被Foo對象覆蓋。
我知道我可以使用其他名稱的對象,例如:
foobar = foo.Foo()
但語義更有意義在我的代碼把它叫做foo,因爲這將是唯一的實例。
(我試圖通過丟棄類和僅使用模塊來解決此,但我回去使用類,因爲使用的模塊只有「穩健性」的問題。)
這是怎樣的一個哲學問題的,但什麼是處理這個潛在的對象/模塊名稱衝突的「正確」方式?
我不認爲所有模塊都有一個正確的方法 - 它確實取決於模塊名稱。正如@ F.J指出的那樣,你可以將它導入爲不同的東西,但我會盡快更改我的變量名稱。你的具體情況是什麼模塊和類名? – 2013-04-03 23:17:34
模塊/類名稱是相機,網絡,gpio,數據庫等。 – 2013-04-04 00:43:18
是的,我可以看到你想如何命名'camera.Camera()'實例'camera'。也許只是導入類名而不是整個模塊,就像在'from camera import Camera'中一樣?然後你可以安全地使用'camera'作爲你的變量名。 – 2013-04-04 01:33:48