108得票4回答
Python类型提示与异常处理

我有一个函数长这样:def check_for_errors(result): if 'success' in result: return True if 'error' in result: raise TypeError ret...

99得票3回答
返回实例的classmethod的类型注释

我应该如何为返回cls实例的@classmethod添加注释?以下是一个不好的示例:class Foo(object): def __init__(self, bar: str): self.bar = bar @classmethod def wit...

92得票2回答
循环依赖问题无法解决

以下代码会产生 NameError: name 'Client' is not defined。我该如何解决? class Server: def register_client(self, client: Client) pass class Client: ...

91得票4回答
在Python数据类中验证详细类型

Python 3.7已经发布一段时间了,我想测试一些新的dataclass+typing功能。让提示正确工作非常容易,既可以使用本地类型,也可以使用typing模块中的类型: >>> import dataclasses >>> import typing...

88得票5回答
如何在Python中为类型设置别名?

在某些(主要是函数式)语言中,您可以像这样做: type row = list(datum) 或 type row = [datum] 这样我们就可以构建像这样的东西: type row = [datum] type table = [row] type database = [...

85得票2回答
Python 3 带有已知键类型的字典。

我正在使用Python 3的类型特性来获得更好的自动补全效果。 很多时候我有一些返回特定键的键/值(字典)的函数,以下是非常简单的示例:def get_info(name): name_first_letter = name[0] return {'my_name': nam...

82得票4回答
使用Python typing模块指定序列或列表的长度

我正在尝试使用Python中的typing模块。 我知道可以像下面这样指定List的长度*: List[float, float, float] # List of 3 floats <-- NOTE: this is not valid Python 有没有更长列表的速记?...

78得票1回答
我该如何使用类型提示指定参数的多个类型?

我有一个Python函数,可以接受XML数据作为str。 为了方便起见,该函数还会检查xml.etree.ElementTree.Element是否存在,并在必要时自动转换为str。import xml.etree.ElementTree as ET def post_xml(data: ...

77得票2回答
Python中用于带有kwargs参数的函数的typing.Callable类型签名。

我经常使用 Python 3 的类型支持。 最近,我尝试将函数作为参数传递,但是在 typing.Callable 签名中,我没有找到如何使用 kwargs 的帮助。 请查看以下代码和注释。import typing # some function with a type signature...

74得票1回答
Python模块类型的类型标注

我正在使用 importlib.import_module 来动态加载一个Python模块,如下所示: def load_module(mod_name: str) -> ???: return importlib.import_module(mod_name)...