小编Дан*_*сов的帖子

如何注释函数生成数据类?

dataclass假设你想像这样包装装饰器:

from dataclasses import dataclass

def something_else(klass):
    return klass

def my_dataclass(klass):
    return something_else(dataclass(klass))
Run Code Online (Sandbox Code Playgroud)

应该如何my_dataclass和/或something_else注释以指示返回类型是数据类?请参阅以下示例,了解内置函数如何@dataclass工作但自定义函数@my_dataclass则不然:


@dataclass
class TestA:
    a: int
    b: str

TestA(0, "") # fine


@my_dataclass
class TestB:
    a: int
    b: str

TestB(0, "") # error: Too many arguments for "TestB" (from mypy)
Run Code Online (Sandbox Code Playgroud)

python python-3.x mypy python-typing

6
推荐指数
1
解决办法
4431
查看次数

标签 统计

mypy ×1

python ×1

python-3.x ×1

python-typing ×1