mic*_*pri 2 python eval function
我做了一个Tic-Tac-Toe游戏,对于我制作的AI中的一个,它选择一个用引号括起来的随机函数(所以它是一个字符串)并调用eval()它.这是它的样子:
import random
func_list = ["func1()", "func2()", "func3()"]
eval(random.choice(func_list))
Run Code Online (Sandbox Code Playgroud)
我真的不喜欢使用eval()(不太确定为什么,只是看起来不对).我不喜欢将列表中的函数作为字符串.有没有更好的方法呢?
函数是Python中的第一类对象.这意味着您可以传递它们,并将它们存储在列表中,就像任何其他对象一样.
那么为什么不这样做呢?
func_list = [func1, func2, func3]
random.choice(func_list)()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |