我提出一个问题:
dic={'a':1,
'b':2,
'c':3}
def a_Item():
print('a')
def b_Item():
print('b')
def c_Item():
print('c')
def main(url):
for k,v in dic.items():
if url == v:
a_Item()
main(1)
如你所见,我有一本字典和三个函数。我在main中有一个类似url的参数。如果url=1,我可以在dic中找到匹配的键(a),最后我想调用函数a\u Item。你知道吗
url=1-->;key=a-->;a项(函数)
url=2-->;key=b-->;b\u项(函数)
在上面的代码中,我只能调用函数a\u Item()。谢谢!你知道吗
你可以这样使用
globals()
:保留有关函数的字典:
然后简单地说:
注意,我使用的是call操作符:
()
还要注意的是,这并不完全等同于对键值对进行迭代。如果这样做,您可以调用多个函数,因为值不必是唯一的。上面的方法只调用一个函数(如果有
KeyError
,则不调用)。你知道吗试试这个:
因为您似乎不需要字典中的a、b、c,所以您可以创建1和a\u Item()的直接组合,2和b\u Item()的直接组合,所以更好的方法是:
相关问题 更多 >
编程相关推荐