我的问题就在这里,但我不明白。
How to add a function call to a list?
如果我有大约10个命令,并且它们都用于特定目的,那么它们无法修改,但我想将它们放在列表中而不调用它们。
def print_hello():
print("hello")
command_list=[print_hello()]
这只会打印"hello"
,然后command_list
等于[None]
我如何获得它,以便在我输入command_list[0]
时,它会执行print_hello()
?
答案 0 :(得分:4)
如果您想将其添加到列表中而不调用它们,请不要再调用它们:
command_list=[print_hello]
当你想打电话给他们时,请打电话给他们:
command_list[0]()
如果你想通过command_list[0]
做一些事情,你可以继承list
并给它一个
def __getitem__(self, index):
item = list.__getitem__(self, index)
return item()
(未测试)。然后,列表上的项目获取操作将导致调用该函数。