如何将dict功能重新分配回“ dict”?[重复]

发布于 2021-01-29 15:04:45

这个问题已经在这里有了答案

与内置函数的命名冲突 (7个答案)

3年前关闭。

我无意中为该关键字分配了一个字典dict,现在它以开头dict object not callable。那么,如何在不重新启动内核的情况下重新分配功能呢?

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

    dict是内置的。 内置builtin包在包中分组在一起。因此,您可以使用:

    import builtins
    dict = builtins.dict
    

    一个忠告是 永不覆盖建宏 :不分配给命名变量listdictsetintfloat,等。

    话虽如此,您也可以 从范围中 删除dict。在这种情况下,Python将 退到内置函数。因此,您 删除变量

    temp_dict = dict
    del dict  # remove the `dict`, now it will delegate to the `dict` builtin
    

    例如:

    >>> dict = {}
    >>> dict
    {}
    >>> del dict
    >>> dict
    <class 'dict'>
    

    因此,将其删除到范围之外,然后Python将再次将其绑定到“外部”范围。



知识点
面圈网VIP题库

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

去下载看看