Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为dict的dict添加python docstring_Python_Python 3.x_Pycharm_Docstring - Fatal编程技术网

如何为dict的dict添加python docstring

如何为dict的dict添加python docstring,python,python-3.x,pycharm,docstring,Python,Python 3.x,Pycharm,Docstring,我有一个对象是一个dict of dict。我想告诉我的编辑这个对象是这样的,我该怎么做?目前我有: def do_somthing(dict_of_dicts): """ :type dict_of_dicts: dict of dict """ for key, value in dict_of_dicts.items(): for key2, value2 in value.items(): prin

我有一个对象是一个dict of dict。我想告诉我的编辑这个对象是这样的,我该怎么做?目前我有:

def do_somthing(dict_of_dicts):
    """
    :type dict_of_dicts: dict of dict
    """

    for key, value in dict_of_dicts.items():
            for key2, value2 in value.items():
                print('Key')

但是,我的编辑器(Pycharm)似乎没有注册此功能。

您可以使用以下类型提示来实现此功能:


我不使用PyCharm,但是…它理解类型注释,对吗?因此,将其指定为注释:

from typing import Dict, Any

def do_something(dict_of_dicts: Dict[Any, Dict[Any, Any]]):
    # ...
或者您甚至可以定义泛型
DictOfDict
类型(外键、内键和内值上的泛型):


您还可以添加
param

def do_somthing(dict_of_dicts):
    """
    :param dict_of_dicts: A dictionary of dictionaries.
    :type dict_of_dicts: dict of dict
    """

for key, value in dict_of_dicts.items():
        for key2, value2 in value.items():
            print('Key')

我建议您阅读这篇文章:

您可能已经找到了答案,但对于偶然发现这条线索的其他人:

尝试此操作,无需导入
键入

dict[dict]
它将在docstring中显示为:

 Dict[dict]
在您的示例中:

def do_somthing(dict_of_dicts):
    """
    :type dict_of_dicts: dict[Any, dict]
    """

    for key, value in dict_of_dicts.items():
            for key2, value2 in value.items():
                print('Key')

你能提供完整的代码在这里像一个魅力的作品可能的副本,谢谢!(请注意,我必须将Dict改为Dict,使其工作良好
Dict
是类型表示法,
Dict
将是转换到字典的方法。您是否包含了从键入中导入的内容?@superdee您不必这样做,它可能并不意味着您希望它的意思。当您使用
Dict
时,会发生什么?我的IDE会这样做即使您尝试
Dict[Any,Dict[Any,Any]]
,也不要自动填充.items()之类的值,这很奇怪,只是为了了解IDE如何读取类型提示。
 Dict[dict]
def do_somthing(dict_of_dicts):
    """
    :type dict_of_dicts: dict[Any, dict]
    """

    for key, value in dict_of_dicts.items():
            for key2, value2 in value.items():
                print('Key')