gpt4 book ai didi

python - 运行关键字/函数的最有效方法是什么?

转载 作者:行者123 更新时间:2023-12-01 07:30:47 24 4
gpt4 key购买 nike

我正在开发一个用python 3.7编写的终端应用程序。目前,当输入命令时,它会通过如下所示的函数传递:

def execute(command):
if command is None or command.isspace() or command == "":
terminal()

command = command.split(" ")
command = list(command)
command[0] = command[0].lower()

var(command)
iftrue(command)
... etc

每个函数如下所示:

def func(command):
if command[0] == "func":
function code blah blah blah

我没有尝试过其他方法,因为我不确定该使用什么 - 而我使用这个方法是因为我看到一段很久以前使用过它的代码。

最好的(最有效/优化)方法是什么?这看起来非常浪费且缓慢,并且随着功能的增加,列表中较低的功能可能需要相当长的时间才能到达。

最佳答案

我会使用一个字典,其中命令字符串是键,函数是值。字典将有一个 log(n) 搜索时间,并且应该保持树结构平衡。因此,将 d 作为 dict,定义类似于:

d = {'func1': myFunc1, 'func2': MyFunc2...}

当然:

def myFunc1(args..):
...

def myFunc2(args..):
...

我们最终得到:

if cmd in d:
d[cmd](args...)

关于python - 运行关键字/函数的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57209530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com