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
posted on 2018-03-19 13:57  玩蛇的  阅读(31746)  评论(0编辑  收藏  举报