2015-01-14 39 views
0

我該怎麼做: 在Python中,我怎麼做一個循環或一個if語句,爲了得到循環/ if語句,你需要一個被調用的函數。 我的意思是這樣:如何根據函數是否被調用來有條件地執行代碼?

if function() *is called*: 
    print('function() is called') 

感謝

+0

該函數是否返回任何東西? – SethMMorton

+2

除非你叫它,否則這個函數永遠不會被調用。那麼這裏的問題在哪裏? –

回答

2

您應該使用布爾值來處理:

def function(): 
    function.has_been_called = True 
    pass 
function.has_been_called = False 

#Actual Code!: 
if function.has_been_called: 
    print('function()is called') 

布爾現在將存儲是否調用了該函數。

+1

你在這裏調用函數'function()'。 –

+0

謝謝你抓到那個scama。 – safaiyeh

1

使用裝飾包裹的功能,使任何時間函數被調用時,你會得到一個打印,而無需改變你原來的功能

def is_called(func): 
    def wrap(): 
    func() 
    print func, "is called" 
    return wrap 

@is_called 
def function(): 
    pass 

if function(): 
    pass #do 

將打印「功能被稱爲」

相關問題