320得票5回答
指定类型的集合的类型提示

使用 Python 3 的函数注释,可以指定同类型列表(或其他集合)中包含的项的类型,以便在 PyCharm 和其他 IDE 中进行类型提示。 以下是整数列表的伪代码示例:def my_func(l:list<int>): pass 我知道使用文档字符串...def m...

9得票1回答
用于 Python 类型注解的 Catch-all 重载

以下代码在使用 mypy 时失败,出现错误信息:Overloaded function signatures 1 and 2 overlap with incompatible return types。 @overload def test_overload(x: str) -> s...

8得票1回答
Python中友好的代理类型

考虑以下代码示例。 def sum(a: int, b: int): return a + b def wrap(*args, **kwargs): # delegate to sum return sum(*args, **kwargs) 代码运行良好,除了类型提示丢失外...

7得票1回答
稀有对象的Python类型注释,例如psycopg2对象

我知道内置类型,但我该如何指定罕见的对象,比如数据库连接对象? def get_connection_and_cursor() -> tuple[psycopg2.extensions.cursor, psycopg2.extensions.connection]: conne...

50得票1回答
一个(任意)Python模块的类型提示是什么?

我想为一个模块(类“module”)添加(Python3)类型提示。 typing 包没有提供这个,而 types.ModuleType() 是一个构造函数,它返回一个特定名称的模块对象。 例子: import types def foo(module: types.ModuleType): ...

9得票1回答
如何处理从导入模块中的未知类型的函数/方法

我想知道如何处理与其他模块关联的未知类型的函数/方法,注意我正在使用strict模式 例如,我有以下代码: rooms: List[str] = list(mongo_client.devices.distinct("room")) mongo_client只是从pymongo导入的M...

7得票1回答
如果类已经被导入用于类型提示,那么“from __future__ import annotations”的好处是什么?

导入 from __future__ import annotations 有什么好处?如果我理解正确的话,我应该停止在运行时不必要地输入导入。 在我的示例中,HelloWorld 仅用于类型。但是使用此代码时,输出始终为: 应该发生这种情况吗? x = World! 当我删除 from...

398得票2回答
如何使用类型提示指定可为空的返回类型

假设我有一个函数:def get_some_date(some_argument: int=None) -> %datetime_or_None%: if some_argument is not None and some_argument == 1: retu...

665得票4回答
如何使用类型提示指定多个返回类型

我在Python中有一个函数,可以返回布尔值或列表。有没有一种方法可以使用类型提示来指定返回类型?例如,以下代码是否正确?def foo(id) -> list or bool: ...

13得票1回答
如何为转发给另一个函数的参数注释类型?

假设我们有一个简单的函数调用open(),但参数是固定的: def open_for_writing(*args, **kwargs): kwargs['mode'] = 'w' return open(*args, **kwargs) 如果我现在尝试调用open_for...