检查对象是数字还是布尔值

2024-04-04

设计一个等价于以下语句的逻辑表达式:

x是一个包含三个或五个元素的列表,其中第二个元素是 字符串'Hip'其中第一个不是数字或布尔值。

我拥有的:

x = ['Head', 'Hip', 10]
print x[1] is 'Hip'

我的问题:如何检查它是布尔值还是数字?


回答具体问题:

isinstance(x[0], (int, float))

这检查是否x[0]是元组中任何类型的实例(int, float).

你可以加bool也在那里,但没有必要,因为bool本身是一个子类int.

文档参考:

  • isinstance() http://docs.python.org/2/library/functions.html#isinstance
  • 内置数字类型 http://docs.python.org/2/library/stdtypes.html#numeric-types-int-float-long-complex

要评论您当前的代码,您不应该依赖短字符串的实习 http://en.wikipedia.org/wiki/String_interning。你应该将字符串与==操作员:

x[1] == 'Hip'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查对象是数字还是布尔值 的相关文章

随机推荐