原创

python 常用代码段汇总(一) 判断数据类型 判断是否为整数(包括负数)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://fungleo.blog.csdn.net/article/details/81390700

最近一直在写一套基于 pythonsanic web 框架库的 restFul 接口的底层框架。由于我是初学,挑战这个任务基本上是属于不自量力型的。但目前我核心构架已经完全写出来了,我会在近期整理好相关资料后,写一系列的文章分享给大家。

这个挑战的过程很简单,因为大家知道我只是一个前端工程师。但是挑战的过程充满乐趣,今天,我就将我遇到的一些小的知识点,做一个汇总,也方便以后自己查找和复习。

判断数据类型

对于入参,我们经常需要判断数据类型,一般,我们的用法是 type() 方法。如下代码演示:

type(__SOME_PARAME_) == str

但是我查阅相关的资料,更加推荐使用 isinstance 函数来进行判断,理由如下:

isinstance() 与 type() 区别:
1. type() 不会认为子类是一种父类类型,不考虑继承关系。
2. isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。

我是不太明白这个意思,只是学会了它的用法如下:

isinstance(1, int)
isinstance([1,2], list)

执行结果如下:

可以用来判断任何已知类型。

判断“字符串或数字”是否是整数(包括负数)

首先,判断一个字符串是否是正整数,我们会想到 str.isdigit() 方法。但如果输入的数字,则会报错,因为数字并不支持该方法。此外,它也不支持负数。很显然,这并不符合我的要求。

我的最终代码是:

def isInt(num):
    try:
        num = int(str(num))
        return isinstance(num, int)
    except:
        return False

运行结果如下:

判断“字符串或数字”是否是整数(包括负数)

无论是数字还是数字字符串,都能被 int 执行,并且包含负数。但是,浮点型数字能被 int 正确执行,而浮点型数字字符串缺不行。因此,我先将输入参数转化成字符串型,就可以避免这个小坑了。

唯一的问题是,如果是其他内容,则会出现报错。因此,这里使用了 try 方法来执行这段代码,报错直接返回 False

本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。

文章最后发布于: 2018-08-03 16:52:16
展开阅读全文
0 个人打赏
私信求帮助
曾参与过风云系列卫星、碳卫星、子午工程、嫦娥等项目的数据处理工作;有超10年大型项目的开发经验。 专栏收入了作者为Python爱好者精心打造的多篇文章,从小白入门学习的基础语法、基础模块精讲等内容外,还提出了“Python语感训练”的概念和方法,不仅为初学者提供了进阶之路,有一定基础的程序员亦可从中受益。后续,本专栏还将加入2D/3D应用开发、数据处理、实战项目等精品内容,敬请期待。
xufive ¥3.80 1544人订阅

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览