如何根据函数是否调用来有条件地执行代码?

时间:2015-01-14 18:03:38

标签: python function loops if-statement

我该怎么做: 在python中,我怎么能做一个循环或if语句,为了进入循环/ if语句,你需要一个函数来调用。 我的意思是这样的:

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

谢谢

2 个答案:

答案 0 :(得分: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 :(得分:1)

使用装饰器来包装函数,这样无论何时调用函数,都可以获得打印,而无需更改原始函数

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

@is_called
def function():
  pass

if function():
  pass #do 

将打印'功能被称为'