类字节对象或Buffer类型注释

问题描述 投票:0回答:2

如何注释类似字节的对象或缓冲区?

缓冲区协议没有接口,但我希望接受我的函数中的所有缓冲区。

我不介意它是否只是 mypy 特定的。

python python-typing mypy
2个回答
6
投票

Python 3.12开始,collections.abc.Buffer可以像这样使用:

from collections.abc import Buffer def foo(buffer: Buffer): pass
    

3
投票
目前(从 Python 3.6 开始)“Buffer Protocol”只是 C API 的东西 - 你甚至不能在常规 Python 代码中谈论它。

cf:

添加描述 PEP 3118 缓冲区对象的typing.py 类

我现在会使用

Any

© www.soinside.com 2019 - 2024. All rights reserved.