汉扬编程 C语言入门 Python如何判断一个数是不是整数?答案没那么简单

Python如何判断一个数是不是整数?答案没那么简单

在Python里,如果我们想判断一个数是不是整数,应该如何操作呢?

Python如何判断一个数是不是整数?答案没那么简单

使用type方法很多人首先想到的是使用type方法,例如:

x = 0type(x) == int这个方法看上去很简单,但在Python里并不是一个优雅的做法,因为他破坏了Python的多态特性。设想我们基于int构造了一个子类,那么对于这个子类的对象,用type来判断就不对了:

class Spam(int): passx = Spam(0)type(x) == int # FalsePyhon是一门鸭子语言。也就是说,只要一个东西长得像鸭子,那么就能用鸭子的方法来处理他,而使用type方法,就丧失了这种灵活性。

使用isinstance方法为了保持这种灵活性,我们应该使用isinstance方法来进行判断一个变量是否是int的实例,这样就避免了上述遇到的问题:

class Spam(int): passx = Spam(0)isinstance(x, int) # True真的需要判断一个数的类型吗?其实,上述方法还是不够Pythonic。完全没必要来判断一个数是否是整数,我们可以预设一个变量是整数来使用它,使用过程中如果出错了,就用异常来捕获,这样的代码易读性更高,也更Pyhonic。

try: x += 1except TypeError: …敬请关注作者,每天学一点编程小知识

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/6657.html

C#如何封装PLC的上升沿下降沿

KPL选秀大会最终结果-帮你解读抽签规则

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部