python-3.x - 如何定义给定函数的输入必须是类的变量(静态)
问题描述
我阅读了 PEP256并搜索了一些实现示例,但仍然对我想要实现的目标是否正确/可能感到困惑。
假设我有一个通用配置接口:
class Confs:
All = 'all'
Some = 'some'
None = 'none'
PI = 3.14159
它在整个库中使用。(注:我不想讨论为什么会这样使用)
现在让我们假设我将一个函数定义为:
def func(input, conf: <type> = Confs.None):
pass
在上述签名中,对于所呈现的非常具体的实现,<type>
是str
. (我的实际问题:)但是是否有一种通用且正确的方法来定义它?乍一看,我认为ClassVar
这将是解决方案,例如:
def func(input, conf: ClassVar[Confs] = Confs.None):
pass
但根据 PEP256,这是不正确的。
解决方案
推荐阅读
- python - “ipykernel_launcher.py:错误:无法识别的参数”错误运行`args = parser.parse_args()`
- javascript - 使用反应中的先前状态更新对象数组中的数组
- fluentd - fluentd动态删除键
- python - 如何在 python selenium 中的特定位置移动滑块(我找到了其他解决方案,但它们适用于 javascript 或 java )?
- c# - 抛出异常时响应时间长
- c - STM32微控制器类型转换
- r - 如何对特定列进行子集化?
- javascript - 你能在 React/JS 的组件名称中使用子索引吗
- flutter - 我们如何使用 ArCore 在 Flutter 中实现类似 snapchat 的过滤器
- android - 以编程方式批量安装 APK