Python 在定义为参数的条件上循环

Python 在定义为参数的条件上循环,python,arguments,Python,Arguments,我想定义一个函数,如果条件为True,它将返回一些内容。但是我想把条件作为函数的参数传递 def foo(condition): i=0 while True: if condition==True: print i i+=1 例如,对于此示例函数,如何传递参数使条件=(I%2==0)?(我希望能够在条件中使用内部函数变量) 我想实现这一点的原因是编写一个泛型类,根据各种条件向其他函数发送信息。在python中,可以将函数作为参数传递。以您

我想定义一个函数,如果条件为True,它将返回一些内容。但是我想把条件作为函数的参数传递

def foo(condition):
   i=0
   while True:
      if condition==True:
         print i
      i+=1
例如,对于此示例函数,如何传递参数使条件=(I%2==0)?(我希望能够在条件中使用内部函数变量)


我想实现这一点的原因是编写一个泛型类,根据各种条件向其他函数发送信息。

在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)
def foo(条件):
i=0
当我<10时:
如果条件(i):
打印i
i+=1
def为_偶数(x):
返回值(x%2)=0
福(是偶数)

使用lambda或函数作为参数。