Pycharm __init__ 中的类型提示不起作用
Pycharm type-hinting in __init__ does not work
我正在使用 Python 2.7 和 PyCharm 社区版 2016.3.2。我有以下代码片段:
class ParentNode(node.Node):
"""ParentNode is a subclass of Node but also takes an additional child_nodes parameter.
@type child_nodes: dict[str: child_node.ChildNode]
"""
def __init__(self, name, node_type, FSPs, CTT_distributions, TMR_distributions,
prob_on_convoy, rep_rndstrm, child_nodes):
"""ParentNode is a subclass of Node but also takes an additional child_nodes parameter.
@type child_nodes: dict[str: child_node.ChildNode]
"""
node.Node.__init__(self, name, node_type, FSPs, CTT_distributions, TMR_distributions,
prob_on_convoy, rep_rndstrm)
self.network_status = 'parent'
self.child_nodes = child_nodes
问题是,当我将鼠标悬停在 self.child_nodes
或 child_nodes
上时,推断类型显示为 Any
而不是 Dict[str, ChildNode]
。我不明白为什么我在文档字符串中的类型提示在这种情况下不起作用。
替换
dict[str: child_node.ChildNode]
和
dict[str, child_node.ChildNode]
我正在使用 Python 2.7 和 PyCharm 社区版 2016.3.2。我有以下代码片段:
class ParentNode(node.Node):
"""ParentNode is a subclass of Node but also takes an additional child_nodes parameter.
@type child_nodes: dict[str: child_node.ChildNode]
"""
def __init__(self, name, node_type, FSPs, CTT_distributions, TMR_distributions,
prob_on_convoy, rep_rndstrm, child_nodes):
"""ParentNode is a subclass of Node but also takes an additional child_nodes parameter.
@type child_nodes: dict[str: child_node.ChildNode]
"""
node.Node.__init__(self, name, node_type, FSPs, CTT_distributions, TMR_distributions,
prob_on_convoy, rep_rndstrm)
self.network_status = 'parent'
self.child_nodes = child_nodes
问题是,当我将鼠标悬停在 self.child_nodes
或 child_nodes
上时,推断类型显示为 Any
而不是 Dict[str, ChildNode]
。我不明白为什么我在文档字符串中的类型提示在这种情况下不起作用。
替换
dict[str: child_node.ChildNode]
和
dict[str, child_node.ChildNode]