测试从python中的列表调用的函数

时间:2014-04-06 03:16:31

标签: python

我想知道,如何测试从条件语句中的列表中随机抽取的函数?这是一些示例代码。只需忽略代码应该打印的内容。

import random, time
def biomeLand():
    print "Biome: Land"

def biomeOcean():
    print "Biome: Ocean"

def biomeDesert():
    print "Biome: Desert"

def biomeForest():
    print "Biome: Forest"

def biomeRiver():
    print "Biome: River"

biomes = [biomeLand, biomeOcean, biomeDesert, biomeForest,
          biomeRiver]

def run():
    while True:
        selected_biome = random.choice(biomes)()
        time.sleep(0.5)
run()

如果从列表中调用某个函数,我怎样才能使条件语句中的程序测试?

2 个答案:

答案 0 :(得分:2)

也许:

def run():
    while True:
        selected_biome = random.choice(biomes)
        selected_biome()
        if selected_biome == biomeLand:
            print "biomeLand Selected"
        time.sleep(0.5)
run()

答案 1 :(得分:1)

您可以像任何其他变量一样匹配它们:

def foo():
    print "foo"

def bar():
    print "bar"

first = foo

print (first == bar) # prints "False"
print (first == foo) # prints "True"

因此,在您的示例中,您可以使用以下内容:

if selected_biome == biomeLand:
    # do something