gpt4 book ai didi

python - 可以使用 * 运算符解包的对象的正确类型注释?

转载 作者:行者123 更新时间:2023-12-01 01:31:13 24 4
gpt4 key购买 nike

应该使用 * 运算符解包的对象的正确类型注释是什么,即此(随机)示例中的 foo:

def some_function(foo):
... = bar(*foo)

我知道 * 可以解压元组和列表,但它是否仅限于这两个类,或者它是否有任何类型的接口(interface)使其可用于其他集合?

最佳答案

Python 解压任何 可迭代对象(例如 liststring、tupledictionary 等)。因此,您可以使用 Iterable为此,例如:

from typing import Iterable

def some_function(foo : <b>Iterable</b>):
bar(*foo)

如果解包的项目应该是特定类型,您可以在方括号之间指定,例如:

# given the items that are unpacked should all be ints

from typing import Iterable

def some_function(foo : <b>Iterable[int]</b>):
bar(*foo)

关于python - 可以使用 * 运算符解包的对象的正确类型注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52841958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com