我们可以使用type和isinstance来测试和判断数据类
#type用法:
type(obj)
功能:返回obj的数据类型
参数:obj是你要测试变量或数值
示例:
age = 10
name = ‘hello‘
print(type(name),type(age))
#判断变量是否是指定类型
if type(age) is int:
print(‘是‘)
else:
print(‘否‘)
#isinstance用法:
isinstance(obj,typename)
功能:判断obj是否是指定类型,是返回True,否返回False
参数: objobj是你要判断的变量或数值
typename是指定数据类型,可以是int,float,str等。也可是一个
类型的元组,例如:(int,float)
示例:
age = 10
name = ‘hello‘
print(isinstance(age,int))
print(isinstance(name,(str,int)) #只要name是str或int的一种就返回True
if isinstance(age,int):
print(‘是‘)
else:
print(‘否‘)
#type和isinstance的区别
type一般用于类型显示,isinstance一般用于类型判断
type也可以判断类型,但无法判断子类对象是父类的一种,isinstance可以判断子类对象是父类的一种
class A:
pass
class B(A):
pass
objA = A()
objB = B()
#输出否
if type(objB) is A:
print(‘是‘)
else:
print(‘否‘)
print(isinstance(objB,A)) #True
结论:优先使用isinstance
原文:https://www.cnblogs.com/landmark/p/12609449.html