为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Pydantic 中声明静态方法/类方法返回相关类的实例?

如何在 Pydantic 中声明静态方法/类方法返回相关类的实例?

守着星空守着你 2023-07-11 15:16:46
我正在使用 Python 3.7 并有类似的东西class A(object):  def __init__(self, value: int):    self.value = value    @classmethod  def factory(cls, value: int) -> A:    return A(value=value)是的,这是一个人为的示例,但我本质上是试图注释工厂函数以声明它返回 的实例,但是,当我尝试 在文件上A运行 linter 时,此操作会失败,因为它抱怨未定义。flake8A有没有什么方法可以注释这个函数,这样 linter 就不会抱怨?
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

您可以通过注释来避免这种情况'A'

class A:
    @classmethod
    def factory(cls, value: int) -> 'A':
        ...

或者,您可以使用注释:__future__

from __future__ import annotations

并继续注释A


查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信