用isinstance函数判断Python变量的类型

2019年9月10日 / 15次阅读 / Last Modified 2019年9月11日
内置函数

所谓Python变量的类型,其实就是它的type,或class。type和class是一个东西,记住,在Python里面,一切都是对象。

Python内置的isinstance函数,是用来判断变量类型的最好的方法,这也是官方推荐的方式。有的时候使用内置的type函数,也可以做判断,不过type函数不能识别子类型,而isinstance函数可以。

>>> isinstance(123,int)
True
>>> isinstance('abc',str)
True
>>> isinstance([1,2,3],list)
True
>>> isinstance((1,2,3),tuple)
True
>>> isinstance({1,2,3},set)
True
>>> isinstance({'a':1,'b':2,'c':3},dict)
True
>>> isinstance(1.234,float)
True

除了判断Python内置的类型外,还可以用来判断自定义的类型,使用方法是一样的。

>>> class test():
...     pass
...
>>> a = test()
>>> isinstance(a,test)
True

本小站之前介绍判断可迭代对象的方法:

>>> from collections.abc import Iterable
>>> isinstance('abcd', Iterable)
True
>>> isinstance((1,2,3,4), Iterable)
True
>>> isinstance(1234, Iterable)
False
>>> isinstance({}, Iterable)
True

isinstance函数还可以在一个tuple内判断类型,只要第1个参数的类型符合第2个tuple参数中的任何一个,都返回True:

>>> tt = (int, float)
>>> tt
(<class 'int'>, <class 'float'>)
>>> isinstance(123, tt)
True
>>> isinstance(1.23, tt)
True

以后判断Python变量的类型,请记住使用内置的isinstance函数哈!

-- EOF --

本文链接:https://www.pynote.net/archives/1113

留言区

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


前一篇:
后一篇:

More

麦新杰的Python笔记

Ctrl+D 收藏本页


©Copyright 麦新杰 Since 2019 Python笔记

go to top