在PyCharm社区版2017.2.3中:
如果我声明一个字典并逐个添加键/值对,那么:
a_dict = {}
a_dict['key_1'] = 'val_1'
a_dict['key_2'] = 'val_2'
a_dict[''] # Code completion works!
代码完成工作。也就是说,我可以编写a_dict ['']并按Ctrl +空格并获取要从中选择的键列表。但是,如果我像这样定义字典:
a_dict = {'key_1': 'val_1', 'key_2':'val_2'}
a_dict[''] # No code completion
代码完成无效。
此外,如果第一个示例是在全局范围内实现的,则代码完成仅适用于全局范围。也就是说,在本地范围内,即使使用全局关键字,代码完成也不起作用:
def some_func():
global a_dict
a_dict[''] # No code completion
在这些情况下,有没有办法让PyCharm执行code_completion?
编辑:如果您未在本地范围内使用全局关键字(在您仅引用全局变量但不更改它的情况下不需要它)代码完成确实有效。