gpt4 book ai didi

python - 类字段的类型注释

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:15 25 4
gpt4 key购买 nike

我正在尝试注释类字段,但 mypy (0.670) 未能在下面的代码中提出问题:

class X(object):
x: int
def __init__(self):
self.x = "a"

x = X()

有没有办法使用 mypy 对类字段执行类型检查?如果没有,有没有办法在运行时轻松做到这一点?

最佳答案

最终使用 typeguard 模块编写了一个简单的运行时检查。

import typing
import typeguard

def check_class_hints(obj):
hints = typing.get_type_hints(obj.__class__)
for (name, hint_ty) in hints.items():
val = getattr(obj, name)
typeguard.check_type(name, val, hint_ty)

class X(object):
x: int
def __init__(self):
self.x = "a"

x = X()
check_class_hints(x)

关于python - 类字段的类型注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56582487/

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