|
|
1
12
引用我自己的话 How much input validation should I be doing on my python functions/methods? :
因此,最好的选择是将类型检查留给Python。如果计算失败,Python的类型检查将给出异常,所以如果你自己做,你只需要重复代码,这意味着你需要做更多的工作。 |
|
|
2
5
在Python 2.6和3.0中,数字抽象数据类型的类型层次结构 added ,因此您可以执行以下检查:
数字。实数将匹配整数或浮点数类型,但不匹配非数字类型或复数(使用numbers.complex)。它也会匹配有理数,但大概你也想包括这些数字。即:
不幸的是,这些都是Python>=2.6,所以如果你正在为2.5或更早的版本开发,那么它就没有用了。 |
|
|
3
2
也许你可以使用以下组合
|
|
|
4
1
我不明白这个问题。 有两种语义截然不同的东西被当作“替代品”。
类型转换是一回事。它适用于任何支持
型式试验是另一回事。这仅适用于作为特定类集的适当实例的对象。
以下是响应的示例类
“实数(整数或浮点数)”这个问题通常无关紧要。许多东西都是“数字”的,可以在数字操作中使用,但不是整数或浮点数。例如,您可能已经下载或创建了有理数包。 过度验证输入是没有意义的,除非你有一个不适用于某些类型的算法。这种情况很少见,但有些计算需要整数,特别是为了进行整数除法和余数运算。对于这些,你可能想断言你的值是整数。 |