python怎么判断数据类型

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

如何使用

对于基本的数据类型两个的效果都一样

type()

ip_port = ['219.135.164.245', 3128]
if type(ip_port) is list:
    print('list数组')
else:
    print('其他类型')

isinstance()

ip_port = ['219.135.164.245', 3128]
if isinstance(ip_port, list):
    print('list数组')
else:
    print('其他类型')

区别之处

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

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

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

class A:
    pass
class B(A):
    pass
isinstance(A(), A)  # returns True
type(A()) == A      # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False