从函数列表中获取随机函数并调用所选函数

时间:2019-02-07 01:46:01

标签: python list function random

我正在尝试创建一个可以调用的函数,它会从函数列表中选择一个随机函数,然后将选定的函数调用来执行操作。那有可能吗?这是我尝试过的。结果什么也没发生。

import random

def ran1(): 
    print("test1")

def ran2(): 
    print("test2") 

def ran3(): 
    print("test3") 

def ran4(): 
    print("test4")

list_functions = [ran1,ran2,ran3,ran4]

def ran_choice():
    random.choice(list_functions)

ran_choice()

1 个答案:

答案 0 :(得分:3)

您的逻辑很好。您只需要调用在ran_choice中选择的函数即可:

def ran_choice():
    random.choice(list_functions)()

尽管如此,它可能更容易读为:

def ran_choice():
    chosen_fn = random.choice(list_functions)
    chosen_fn()