开发中类型变量判断会经常遇到,不确定的情况下直接调用往往会提示类型不符合错误。python中如何判断变量的类型,如判断某个变量是否为列表类型?
下面介绍三种方法判断:
(1)、python中type()函数可以获取变量的类型,注意这个返回值是对象类型的,如果想要判断的话,可以通过返回值对象的 __name__属性来判断
aa=32 print(type(aa).__name__,type(aa).__name__=='int') #输出为 int True
type()返回值对象的__name__值常见的有:int 整形、float 浮点数、str 字符串、list 列表、tuple 元组、bool 布尔值、set 集合、dict 字典
(2)、通过与已知类型的常量进行比较
如判断是否为整形,可以用
aa=32 bb="python" print(type(aa)==type(1)) #如果输出为真,则判断变量为整形,其他类型类似,如判断是否为字符串 print(type(bb)==type('hello'))
(3)、通过isinstance()函数判断,因为python中变量类型都是对象,通过是否为python中变量类型的继承关系来判断
aa=[1,2,3] if isinstance(aa,list): print('当前变量为列表对象') elif isinstance(aa,str): print('当前变量为字符串对象')
下面封装一个函数来判断变量的类型
def getType(variate): arr=((bool,'布尔值'),(complex,'复数'),(int,'整形'),(float,'浮点数'),(str,'字符串'),(list,'列表'),(tuple,'元组'),(set,'集合'),(dict,'字典')) for types in arr: if isinstance(variate,types[0]): #return types[1] #只输出类型汉字 return (types[0].__name__,types[1]) else: return (type(variate).__name__,'其它类型') print(getType(11)) print(getType('python'))
发表评论 取消回复