首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为dict添加python文档字符串

如何为dict添加python文档字符串
EN

Stack Overflow用户
提问于 2018-08-03 04:19:00
回答 4查看 4.5K关注 0票数 0

我有一个物体,它是一本字典。我想告诉我的编辑器这个对象是这样的,我该怎么做呢?目前我有:

代码语言:javascript
复制
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)似乎没有注册这一点。

EN

回答 4

Stack Overflow用户

发布于 2018-08-03 04:26:39

可以通过使用Dict的类型提示来实现这一点

代码语言:javascript
复制
from typing import Dict, Any

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

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

Stack Overflow用户

发布于 2018-08-03 04:26:58

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

代码语言:javascript
复制
from typing import Dict, Any

def do_something(dict_of_dicts: Dict[Any, Dict[Any, Any]]):
    # ...

或者您甚至可以定义一个泛型DictOfDict类型(在外键、内键和内值上都是泛型):

代码语言:javascript
复制
from typing import Dict, Any, TypeVar, Generic:

K1, K2, V = TypeVar('K1'), TypeVar('K2'), TypeVar('V')
class DictOfDicts(Dict[K1, Dict[K2, V]]): ...

def do_something(dict_of_dicts: DictOfDicts[Any, Any, Any]):
    # ...
票数 3
EN

Stack Overflow用户

发布于 2021-04-13 23:45:03

你可能已经找到了答案,但对于那些偶然发现这个帖子的人来说:

尝试一下,不需要导入typing

代码语言:javascript
复制
dict[dict]

它将在docstring中显示为:

代码语言:javascript
复制
 Dict[dict]

在您的示例中:

代码语言:javascript
复制
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')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51661560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档