当前位置: 首页 > 面试题库 >

如何检查我的python对象是否为数字?

谢同化
2023-03-14
问题内容

在Java中,数字类型都从Number衍生而来,所以我会使用

(x instanceof Number).

什么是python等效项?


问题答案:

测试您的变量是否是的实例numbers.Number

>>> import numbers
>>> import decimal
>>> [isinstance(x, numbers.Number) for x in (0, 0.0, 0j, decimal.Decimal(0))]
[True, True, True, True]

这将使用ABC,并且将适用于所有内置的数字类,并且如果它们值得使用,则也适用于所有第三方类(已注册为NumberABC的子类)。

但是,在许多情况下,您不必担心手动检查类型-
Python是鸭子类型的,通常可以混合使用一些兼容的类型,但是当某些操作没有意义时(4 - "1")它会阻止错误消息,因此手动检查是很少真正需要。这只是奖金。您可以在完成模块时添加它,以避免使实施细节困扰其他人。

该功能从Python 2.6开始。在旧版本中,您几乎只能检查一些硬编码类型。



 类似资料:
  • 问题内容: 我正在尝试编写一个接受字符串列表或单个字符串的函数。如果它是一个字符串,那么我想将其转换为仅包含一项的数组,因此我可以遍历它而不必担心错误。 那么,如何检查变量是否为数组? 我整理了以下各种解决方案,并创建了jsperf测试。它们都非常快,因此只需使用- 现在得到了很好的支持,并且可以跨框架使用。 问题答案: 在现代浏览器中,您可以 受Chrome5,Firefox 4.0,IE 9,

  • 问题内容: 我试图得到: 在我自己的脚本中,我以前只是使用它,因为我从来不需要作为属性: 因此,对于第二个对象,我想出了以下方法作为一种快速解决方案-大部分都能奏效。;) 问题是,这取决于浏览器是否强制执行只读属性,而并非所有人都这样做。 有没有好的替代品? 问题答案: 这可能很有趣: 它是DOM Level2的一部分。 更新2 :这是我在自己的库中实现它的方式:(以前的代码在Chrome中不起作

  • 问题内容: 我有一个需要循环通过的嵌套JSON对象,每个键的值可以是String,JSON数组或另一个JSON对象。根据对象的类型,我需要执行不同的操作。有什么方法可以检查对象的类型以查看它是String,JSON对象还是JSON数组? 我尝试使用和,但似乎都没有用,因为这将为JSON对象和数组都返回一个对象,并且在我这样做时给出错误。 更具体地说,在将JSON解析为JS对象之后,有什么方法可以检

  • 问题内容: 我的服务器端代码返回一个值,该值成功时为json对象,失败时为字符串’false’。现在如何检查返回的值是否为json对象? 问题答案: 如果字符串是JSON,则jQuery.parseJSON()应该返回类型为“对象”的对象,因此您只需使用以下命令检查类型

  • 我有一个需要循环的嵌套JSON对象,每个键的值可以是字符串、JSON数组或其他JSON对象。根据对象的类型,我需要执行不同的操作。是否有任何方法可以检查对象的类型,以查看它是字符串、JSON对象还是JSON数组? 我尝试使用和,但两者似乎都不起作用,因为将为JSON对象和数组返回一个对象,并且当我执行时,会给出一个错误。 更具体地说,在将JSON解析为JS对象后,是否有任何方法可以检查它是普通字符

  • 问题内容: 在python中,如何检查对象是否为生成器对象? 试试这个- 给出错误- (我知道我可以检查对象是否具有将其用作生成器的方法,但是我想以某种方式可以确定任何对象的类型,而不仅仅是生成器。) 问题答案: 您可以从以下类型使用GeneratorType: