python下判断变量类型

1,596 阅读1分钟

Python判断变量的类型有两种方法:type() 和 isinstance()

以下是 isinstance() 方法的语法:

isinstance(object, classinfo) 
# classinfo 可以为:int,float,bool,complex,str(字符串),list,dict(字典),set,tuple
# 要注意的是,classinfo 的字符串是 str 而不是 string,字典也是简写 dict,否则会报错

栗子如下:

ip_port = ['219.135.164.245', 3128]
print(type(ip_port) is list) # True   
print(isinstance(ip_port, list)) # True isinstance (a,(str,int,list))    # 是元组中的一个返回 True
class A(object):
    a=1
class B(A): # 继承
    a=6
c=A()
d=B()
print (type(c) is A) # True
print (type(c) is B) # False
print (type(d) is A) # False
print (type(d) is B) # True
print('-----------')
print (isinstance(c , A)) # True
print (isinstance(c, B))  # False
print (isinstance(d, A)) # True
print (isinstance(d, B)) $True

区别:

isinstance() 和 type() 的区别在于:

type()不会认为子类是一种父类类型

isinstance()会认为子类是一种父类类型