首页 > 解决方案 > 函数可以是 Python 数据类成员吗?

问题描述

我试图将一些函数放在一起,并为此尝试了一个 Python 数据类。我无法想出或找到如何将类型分配给数据类中的函数。

在下面的示例中,我使用了一个虚拟类型int,但我应该正确使用什么来代替int

from dataclasses import dataclass

inc = lambda x : x+1

@dataclass
class Holder:
  func: int # but I need a better type signature here

h = Holder(inc)

assert h.func(1) == 2

标签: pythontypes

解决方案


你应该使用Callable类型

from typing import Callable

@dataclass
class Holder:
  func: Callable[[int], int]

推荐阅读