python - Python:如何为非 NaN 或 Infinity 的浮点数定义自定义数据类型?
问题描述
我希望能够将赋予函数的参数强制为不是 NaN 或 Infinity 的浮点数,并以干净的方式执行。
像这样:
def f(x: NumberFloat):
assert isinstance(x, NumberFloat)
...
我想,我需要定义自己的类。但具体如何?
或者我可以为这个函数做一个装饰器?
解决方案
实现这一目标的最简单方法是使用数学。无限。如果给定的数字是有限的且不包括NaN
和 ,则该函数为 True inf
。在这一切中请注意,在 Python 中,请求宽恕比请求许可更好。因此,仅在确实需要时才检查输入。
推荐阅读
- javascript - 如何使用 Math.round 获取舍入的 JavaScript 数字
- c# - 将字节数组转换为 int32
- javascript - 使用 AJAX 删除 CodeIgniter 函数中的问题
- typescript - 允许 Typescript 类型中的任意属性
- fullcalendar - primeng p-fullcalendar prev next 点击捕获
- javascript - 在heroku上设置socketio的端口号
- ssas - 设计一个立方体
- arrays - 通过匹配另一个数组中元素的属性从数组中删除元素
- javascript - 大 O 表示法 - 这是 O(n) 还是 O(n2)?
- javascript - 将 FormData 中的多个 JSON 列表和图像发送到 C#