循环定义为参数的条件

时间:2015-04-14 09:41:55

标签: python arguments

我想定义一个函数,如果条件为True,则返回一些东西。但是我希望将条件作为函数的参数传递!

def foo(condition):
   i=0
   while True:
      if condition==True:
         print i
      i+=1

例如,使用此示例函数,如何将参数传递给条件=(i%2 == 0)? (我希望能够在条件中使用内部函数变量)

我想要实现这一目标的原因是根据不同的条件编写一个通用类向其他函数发送信息。

1 个答案:

答案 0 :(得分:2)

在python中,您可以将函数作为参数传递。举个例子,你可以这样做:

def foo(condition):
   i=0
   while i < 10:
      if condition(i):
         print i
      i+=1

def is_even(x):
    return (x % 2) == 0

foo(is_even)