相关疑难解决方法(0)

已知密钥键入的Python 3字典

我正在使用python3输入功能来获得更好的自动完成功能.

很多时候,我有使用特定键返回键/值(字典)的函数.超级简单的例子:

def get_info(name):
    name_first_letter = name[0]
    return {'my_name': name, 'first_letter': name_first_letter}
Run Code Online (Sandbox Code Playgroud)

我想在此函数中添加类型提示,以告诉使用此函数的其他人期待什么.

我可以这样做:

 class NameInfo(object):
     def __init__(self, name, first_letter):
         self.name = name
         self.first_letter = first_letter
Run Code Online (Sandbox Code Playgroud)

然后将函数签名更改为:

def get_info(name) -> NameInfo:
Run Code Online (Sandbox Code Playgroud)

但它需要为每个字典提供太多代码.

在这种情况下,最佳做法是什么?

python dictionary type-hinting python-3.x

19
推荐指数
2
解决办法
5278
查看次数

Python / mypy中NamedTuple和TypedDict的主要区别是什么

在我看来,这NamedTupleTypedDict相当相似,Python开发人员自己承认。

关于PEP,我宁愿添加有关NamedTuple和TypedDict的共同部分,它们非常相似,后者已经在结构上起作用。你怎么看? 资源

但是后来圭多对此不太确定。

我不确定NamedTuple和TypedDict是否真的一样(除非它们都试图在静态类型的世界中处理过时的模式)。

资源

因此,这是我懒惰的尝试,目的是使其他人在官方文档似乎缺乏的情况下进行清晰的比较。

python dictionary types namedtuple mypy

4
推荐指数
4
解决办法
2152
查看次数

标签 统计

dictionary ×2

python ×2

mypy ×1

namedtuple ×1

python-3.x ×1

type-hinting ×1

types ×1