2013-02-04 90 views
1

我有這樣的事情:我可以在python中導入全局函數嗎?

from CoreTemplate import CoreTemplate 

時,我想用從CoreTemplate模塊導入函數我需要做的是這樣的:

CoreTemplate.ifunction() 

是有反正,我可以打電話功能,無需名這樣的模塊:

ifunction() 
+2

你是什麼意思_global_,你真的需要它嗎?什麼是CoreTemplate,一個類?然後ifunction是一個方法,而不是一個函數,並且沒有語言可以在沒有對象或類名的情況下調用方法,因爲這沒有意義。 –

+0

是的,CoreTemplate是一個類,ifunction是一種方法。是否可以在不指定類名的情況下使方法可用? – user1756095

+0

你爲什麼要這麼做?沒有物體的話稱它是有意義的嗎?可能不會。你可能正在尋找一種方法來創建一個lambda表達式?看,請激勵你的問題。否則,不可能說您是否僅僅不理解方法調用的概念,或者僅僅被Python的細節所困惑。 –

回答

0

你可以做

from CoreTemplate import CoreTemplate 
ifunction = CoreTemplate.ifunction 

(注意不存在括號的)

+0

有無論如何,我可以爲'CoreTemplate'中定義的所有功能做到這一點 – user1756095

+0

是真的,但絕對初學者從中獲得什麼,除了總共iConfusion? ;) –

0
from CoreTemplate import ifunction 

ifunction() 
+0

計劃錯誤,因爲在CoreTemplate中有一個類CoreTemplate,因爲已經澄清。 –

0

這應該做;

from CoreTemplate import CoreTemplate 

g = globals() 

for atr in dir(CoreTemplate): 
    if atr.startswith("_"): 
     continue 
    g[atr] = getattr(CoreTemplate, atr) 
相關問題