mypy:不兼容的类型[class],预期类

发布于 2025-01-26 10:37:58 字数 511 浏览 0 评论 0原文

当将类对象作为变量转换给函数时,我对mypy有问题:

from PIL import Image
def save_img(img: Image.Image) -> None:
    img.save("file.png")
img = Image.open("any_image.png")
save_img(img)   # mypy-error save_img has incompatible type "Type[Image]"; expected "Image"

如果我更改save_img像follwoing一样,我会创建一个不同的mypy错误:

def save_img(img: Type[Image.Image]) -> None:
    img.save("file.png")   # mypy-error: missing positional argument 'self'

我如何正确注释类型功能定义?

I've got a problem with mypy when handing a class-object as variable to a function:

from PIL import Image
def save_img(img: Image.Image) -> None:
    img.save("file.png")
img = Image.open("any_image.png")
save_img(img)   # mypy-error save_img has incompatible type "Type[Image]"; expected "Image"

If I change save_img like the follwoing, I create a different mypy error:

def save_img(img: Type[Image.Image]) -> None:
    img.save("file.png")   # mypy-error: missing positional argument 'self'

How do I correctly annotate the type in the function definition?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文