如何通过Python中的方法为字典启用代码完成功能?

时间:2018-09-13 17:36:26

标签: python python-3.x autocomplete pycharm code-completion

我将Python 3.6与PyCharm结合使用,令人沮丧的是,不支持字典对象的特殊情况(具有固定键模式)的代码完成。

例如,我创建并尝试访问一个像这样的简单字典对象:

inventory = {'name': 'hammer', 'price': 2.3}
inventory['']

当我将光标置于引号''内并按下Ctrl + Space时,我得到了代码补全,并且IDE正确地建议了字典对象中所有可能的键。那是伟大的

但是,如果我尝试将其构建为一个实用工具函数,该函数返回相同的dict对象,说出用户提供的值,但具有相同的dict键-那么我就不会再完成代码了!

def get_inventory(name: str, price: float):
    return {'name': name, 'price': price}

inventory = get_inventory('hammer', 2.3)
inventory['']    # <- Pycharm can't offer any suggestions! 

有任何解决方法或解决方案吗?我已经在搜索类似的解决方案,但没有找到任何有效的方法。我知道我可以将其转换为类Inventory并以这种方式访问​​属性,但出于以下几个原因,我不想这样做:

  • 我需要该对象易于JSON转换,因为我可能会将它从/传递给JSON的次数很多,dict对象为此目的最简单
  • 将其存储为类没有多大意义,因为无论如何我只需要将其作为数据容器,并在其中存储最少的属性

我将非常感谢任何帮助或解决方案,帮助我通过识别这样的dict对象中的可能键来使我的IDE协助完成代码!

0 个答案:

没有答案