将列表的元素作为参数传递给python中的函数

发布于 2021-01-29 17:27:31

我在python中构建了一个简单的解释器,无法处理函数中不同数量的参数。我当前的方法是获取命令/参数的列表,如下所示。

args = str(raw_input('>> ')).split()
com = args.pop(0)

然后执行com,我检查它是否在命令->代码映射的字典中,以及是否调用存储在其中的函数。对于不带参数的命令,它看起来像:

commands[com]()

但是,如果命令具有多个参数,则需要这样做:

commands[com](args[0],args[1])

是否有一些技巧可以将arg列表中的某些(或全部)元素传递给我要调用的函数?还是有更好的方法来实现这一点而不必使用python的cmd类?

关注者
0
被浏览
87
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    尝试将列表分解为位置参数:

    commands[com](*args)
    


推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看