我已經在一個單獨的文件中使用Python構建了一個模塊,而不使用類。我這樣做,以便使用一些API模塊變得更容易。基本上是這樣的:Python抽象模塊可能嗎?
the_module.py
from some_api_module import some_api_call, another_api_call
def method_one(a, b):
return some_api_call(a + b)
def method_two(c, d, e):
return another_api_call(c * d * e)
我現在需要建立許多類似模塊,針對不同的API模塊,但我希望他們都具有相同的基本設置方法,使我可以導入這些模塊中的任何一個,並調用一個函數,知道這個函數在我構建的所有模塊中表現相同。爲了確保它們都一樣,我想使用某種抽象基本模塊來構建。我通常會抓住Abstract Base Classes module,但由於我根本不使用類,所以這不起作用。
有沒有人知道我如何實現一個抽象基本模塊,我可以在其中構建幾個其他模塊而不使用類?歡迎所有提示!
您要做什麼與'from the_module import *'不同? – roippi
@roippi - 好吧,我總是儘量避免使用通配符導入。我想用這個模塊和它的未來兄弟作爲'import the_module,the_module2,the_module3等',這樣我就可以使用我選擇的模塊來達到我選擇的api,但仍然能夠在每個模塊中使用相同的函數the_module。我只是想抽象出'some_api_module's之間的差異。 – kramer65
我想我還是不明白。你想避免通配符導入(這是合理的),但你想實現的東西基本上就像做一個通配符導入。現在,如果您只想執行'import my_api'並在該命名空間下使用所有可用的命令,無論您的各種api模塊/軟件包是如何佈置的 - 這似乎更合理。 – roippi