函数可以是Python数据类成员吗?

函数可以是Python数据类成员吗?,python,types,Python,Types,我试图将一些函数放在一起,并为此尝试了一个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) as

我试图将一些函数放在一起,并为此尝试了一个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
你应该使用这个类型


... 而-1正好代表。。。“你应该早就知道了”?应该是
可调用的[int,int]
?参数部分应该是一个列表,因此
[int]
不知道为什么-
inc
只接受一个
int
,而不是
int
的列表哦,这是
可调用的
想要的东西!不是您的函数,但函数通常可能有多个参数,这就是为什么类型提示的参数部分包含在
[]
from typing import Callable

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