为什么打印不出结果

 def func(*args):
    cache = {2:'cake',3:'banana',4:'apple',5:'orange'}
    res = cache.get(args)
    print(res)
    return res

image.png
为什么不管我怎么调用这个函数,都不会从字典里面取出对应的值呢?
谢谢

补充一下,是在看课程时候老师说的,老师在定义一个装饰器,可以接收一个或者多个参数,把这个可变参数元组作为一个字典键:
image.png

阅读 2.3k
2 个回答

你定义的cache字典里的key不是参数元组,而是具体的参数,那用args这个元组怎么又怎么会取到呢
实际的cache类似: {(2,): 'xxx', (2,3):'yyy'}

args是个元组呀。

def func(*args):  
    cache = {2: 'cake', 3: 'banana', 4: 'apple', 5: 'orange'}  
    for arg in args:  
        res = cache.get(arg)  
        print(res)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题