我有這樣的事情:我可以在python中導入全局函數嗎?
from CoreTemplate import CoreTemplate
時,我想用從CoreTemplate模塊導入函數我需要做的是這樣的:
CoreTemplate.ifunction()
是有反正,我可以打電話功能,無需名這樣的模塊:
ifunction()
我有這樣的事情:我可以在python中導入全局函數嗎?
from CoreTemplate import CoreTemplate
時,我想用從CoreTemplate模塊導入函數我需要做的是這樣的:
CoreTemplate.ifunction()
是有反正,我可以打電話功能,無需名這樣的模塊:
ifunction()
你可以做
from CoreTemplate import CoreTemplate
ifunction = CoreTemplate.ifunction
(注意不存在括號的)
有無論如何,我可以爲'CoreTemplate'中定義的所有功能做到這一點 – user1756095
是真的,但絕對初學者從中獲得什麼,除了總共iConfusion? ;) –
from CoreTemplate import ifunction
ifunction()
計劃錯誤,因爲在CoreTemplate中有一個類CoreTemplate,因爲已經澄清。 –
這應該做;
from CoreTemplate import CoreTemplate
g = globals()
for atr in dir(CoreTemplate):
if atr.startswith("_"):
continue
g[atr] = getattr(CoreTemplate, atr)
你是什麼意思_global_,你真的需要它嗎?什麼是CoreTemplate,一個類?然後ifunction是一個方法,而不是一個函數,並且沒有語言可以在沒有對象或類名的情況下調用方法,因爲這沒有意義。 –
是的,CoreTemplate是一個類,ifunction是一種方法。是否可以在不指定類名的情況下使方法可用? – user1756095
你爲什麼要這麼做?沒有物體的話稱它是有意義的嗎?可能不會。你可能正在尋找一種方法來創建一個lambda表達式?看,請激勵你的問題。否則,不可能說您是否僅僅不理解方法調用的概念,或者僅僅被Python的細節所困惑。 –