有没有办法明确地告诉PyCharm属性是哪个类的实例?
我最近学习了PyCharm,我已经习惯了Wing的一个特性,在这个特性中,您可以告诉IDE特定标识符(变量、属性等)将是什么类。例如:有没有办法明确地告诉PyCharm属性是哪个类的实例?,pycharm,Pycharm,我最近学习了PyCharm,我已经习惯了Wing的一个特性,在这个特性中,您可以告诉IDE特定标识符(变量、属性等)将是什么类。例如: my_object = SomeClass() assert isinstance(my_object.my_attribute, SomeOtherClass) 此时,Wing确切地知道my_object.my_属性是什么,即使它无法从源代码分析中找出它 我正在PyCharm中寻找类似的功能。我知道一个对象的特定属性是什么,但PyCharm不知道,所以我怎么
my_object = SomeClass()
assert isinstance(my_object.my_attribute, SomeOtherClass)
此时,Wing确切地知道my_object.my_属性是什么,即使它无法从源代码分析中找出它
我正在PyCharm中寻找类似的功能。我知道一个对象的特定属性是什么,但PyCharm不知道,所以我怎么能告诉它,这样它就可以给我方便的补全
相关问题:我也看到了类似的问题,但它不涉及属性,只涉及参数。实际上,PyCharm也理解“assert-isinstance”语法,但仅适用于非限定引用。我已经提交了一个问题来支持这一点,以获得合格的参考: 在当前版本中,您可以通过转到SomeClass的声明并为属性添加epydoc或sphinx docstring来指定my_属性的类型。这对我有用(2.6.2)
如果我正确理解了你的问题,你要找的是PyCharm的一般类型推断。我来自一种静态类型的语言,当我使用代码补全时,我感到困惑,而且选择的内容几乎和python库的内容一样多 我发现在PyCharm中,它可以选择在运行时收集类型信息,并在开发时(即代码完成)提供这些信息 这是你怎么做的 首选项>Python调试器>“收集代码洞察的运行时类型” 在“调试”代码时(不需要使用断点)。PyCharm将开始为所有代码导航/完成提供更好的建议 干杯
class Rule (object):
def __init__(self, *args):
self.criteria = []
"""@type : list of Criterion"""
crit = self.criteria[0]
#on this line, code completion works for "crit"