python判断一个数是否为完全数,Python判断是整数
浮动(.)和{}。在
浮动(.)将尝试用__float__方法解析字符串或任何对象。例如,int、float和{}有一个__float__方法。您也可以为自定义类定义这样的方法。在
如果你想把一个复数转换成浮点数(.),您将得到一个错误:float(2 2j)
回溯(最近一次呼叫):
文件“”中的第1行
TypeError:无法将复杂转换为浮点
浮动的结果(.)函数保证是浮点型的:如果__float__方法返回一个非浮点值,它将抛出一个TypeError:
^{pr2}$
因此,简单尝试浮动(.)就够了:def是_number_like(x):
尝试:
浮动(x)
返回True
除了TypeError,ValueError:
返回False
Python中大多数类似数值的类型(比如numpy.int16)**都支持这样的__float__方法。在
另一方面,int(.)使用str和__int__方法。同样,如果调用int(.),那么结果肯定是int。在
所以在python-3.x中,可以使用两种检查:一种是针对float(.)和另一个用于int(.):def is _ number _ like (x):
尝试:
int(x)
返回True
除了TypeError,ValueError:
尝试:
浮动(x)
返回True
除了TypeError,ValueError:
返回False
或者,如果你想返回一个类似数字的对象:def is_number_like(x):
尝试:
返回int(x)
除了类型错误:
尝试:
返回浮动(x)
除了类型错误:
不返回
(如果两次尝试都失败,则不返回任何内容)。在
注意,在python-2.x中,还有一个long类型(你猜怎么着,它和__long__)一起工作)。在
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。