确定对象的类型?是否有一种简单的方法来确定变量是列表、字典还是其他什么?我得到的对象可能是两种类型,我需要能够区分。
3 回答

烙印99
TA贡献1829条经验 获得超13个赞
type()
>>> type([]) is listTrue>>> type({}) is dictTrue>>> type('') is strTrue>>> type(0) is intTrue>>> type({})<type 'dict'>>>> type([])<type 'list'>
>>> class Test1 (object): pass>>> class Test2 (Test1): pass>>> a = Test1()>>> b = Test2()>>> type(a) is Test1True>>> type(b) is Test2True
type()
>>> type(b) is Test1False
isinstance
>>> isinstance(b, Test1)True>>> isinstance(b, Test2)True>>> isinstance(a, Test1)True>>> isinstance(a, Test2)False>>> isinstance([], list)True>>> isinstance({}, dict)True
isinstance()
isinstance()
type()
.
isinstance()
isinstance
>>> isinstance([], (tuple, list, set))True

万千封印
TA贡献1891条经验 获得超3个赞
type()
:
>>> a = []>>> type(a)<type 'list'>>>> f = ()>>> type(f)<type 'tuple'>

慕后森
TA贡献1802条经验 获得超5个赞
__class__
>>> str = "str">>> str.__class__<class 'str'>>>> i = 2>>> i.__class__<class 'int'>>>> class Test():... pass...>>> a = Test()>>> a.__class__<class '__main__.Test'>
添加回答
举报
0/150
提交
取消