python - 函数可以是 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
解决方案
你应该使用Callable
类型
from typing import Callable
@dataclass
class Holder:
func: Callable[[int], int]
推荐阅读
- ajax - 如何在 axios 中发布 formData 和其他数据
- ios - 使用目标 c 更改状态栏的颜色
- python - 我需要将大文件中的每 30 个数据块(624 行)放入单独的文件中
- javascript - 我的响应式导航栏不工作和锚标签也
- grails - Grails 4.xx CRUD 性能很慢
- python - 如何解决 IndexError:在数据集上应用 TransactionEncoder() 时,索引 754 超出轴 0 的范围,大小为 754?
- javascript - 为什么 javascript audio.pause() 函数不起作用?
- javascript - 按操作顺序设置多项选择值
- mysql - 无法检索没有任何子记录 MySQL 的父记录
- pdf - 指向 Markdown 文档中章节的 URI