小编Ean*_*fwe的帖子

何时在 Python 类型提示中使用 IO[str]/IO[bytes] 和 TextIO/BinaryIO?

从文档中,它说:

泛型类型IO[AnyStr]及其子类TextIO(IO[str])BinaryIO(IO[bytes])表示 I/O 流的类型,例如由open().

— Python 文档: typing.IO

文档没有指定何时BinaryIO/TextIO应用于其对应物IO[str]IO[bytes].

通过Python Typeshed源的一个简单的检查,只有30命中发现搜索时BinaryIO,和109分的命中IO[bytes]

我试图切换到BinaryIOfromIO[bytes]以更好地与sphinx-autodoc-typehints兼容,但是切换已经破坏了许多类型检查,因为像这样的方法tempfile.NamedTemporaryFile被键入IO[bytes]而不是另一个。

从设计角度来说,使用这些 IO 类型提示的每种类型的正确情况是什么?

python type-hinting python-3.x

8
推荐指数
1
解决办法
1653
查看次数

标签 统计

python ×1

python-3.x ×1

type-hinting ×1