如何在python字典中包含命令

时间:2017-02-16 17:51:14

标签: python dictionary command chatbot

我正在创建一个智能聊天服务器。但是,这部分信息无关紧要。我想要做的就是拨打字典中的指示 - 我会告诉你:

dictionary = ["command1": "print("I just called command1!")]

dictionary["command1"]

有点像那样。显然你不能这样做。我希望能够有一个不同命令的字典,当你使用字典[whatever_command you want_in_here]时会运行

你明白我的意思吗?

我可以使用函数,但显然会占用大量空间和大量代码,当我的Chatbot中有如此多的响应时,我无法负担这些代码。

我真的需要知道如何以简单的方式做到这一点。

PLS。 :)

2 个答案:

答案 0 :(得分:3)

将说明存储为匿名函数:

dictionary = {
    "command1": lambda: print("I just called command1!"),
    "command2": lambda: print("I just called command2!")
}

command = input('Enter command: ')
dictionary[command]()

答案 1 :(得分:2)

如果您只是想要打印字符串,那么做以下事情会更好:

dictionary = {"command1": "I just called command1!"}
print(dictionary["command1"])

但是如果你需要解析实际的功能,你可以像@Uriel Eli在另一个答案中所说的那样使用lambda。

mylist = []
dictionary = {"command1": lambda: print("I just called command1"), "command2": lambda: mylist.append("Here's an appended string!")}

dictionary["command1"]()
dictionary["command2"]()