2019年9月10日 / 489次阅读 / 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
《用isinstance函数判断Python变量的类型》有2条留言
前一篇:给Entry控件设置默认值
后一篇:情景式(modal)的Toplevel窗口
©Copyright 麦新杰 Since 2019 Python笔记
判断对象是否属于多个class中的某一个,这是很自然的需求,一个isinstance函数搞定,今天用到了,代码真的简化了好多。 [ ]
isinstance可以判断变量是否属于多个类型中的某一个。 [ ]