.jpg)

网友回答:
用:type()
>>> a = []
>>> type(a)
<type 'list'>
>>> f = ()
>>> type(f)
<type 'tuple'>

网友回答:
有两个内置函数可帮助您识别对象的类型。如果需要对象的确切类型,则可以使用,并根据某些内容检查对象的类型。通常,您希望在大多数时候使用,因为它非常健壮并且还支持类型继承。type()isinstance()isinstance()
若要获取对象的实际类型,请使用内置函数。将对象作为唯一参数传递将返回该对象的类型对象:type()
>>> type([]) is list
True
>>> type({}) is dict
True
>>> type('') is str
True
>>> type(0) is int
True
这当然也适用于自定义类型:
>>> class Test1 (object):
pass
>>> class Test2 (Test1):
pass
>>> a = Test1()
>>> b = Test2()
>>> type(a) is Test1
True
>>> type(b) is Test2
True
请注意,这只会返回对象的直接类型,但无法告诉您有关类型继承的信息。type()
>>> type(b) is Test1
False
为了覆盖这一点,您应该使用该函数。这当然也适用于内置类型: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()
的第二个参数也接受类型元组,因此可以一次检查多个类型。 然后返回 true,如果对象属于以下任何类型:isinstance()isinstance
>>> isinstance([], (tuple, list, set))
True

网友回答:
使用…块。这样,如果你有一个像列表一样嘎嘎叫,或者像字典一样嘎嘎叫的类,无论它的实际类型是什么,它都会正常运行。tryexcept
澄清一下,在变量类型之间“区分”的首选方法是使用称为鸭子类型的东西:只要变量响应的方法(和返回类型)是你的子例程所期望的,就把它当作你期望的对待。例如,如果你有一个类,它用 and 重载括号运算符,但使用一些有趣的内部方案,如果这是它试图模拟的,那么它表现为字典是合适的。getattrsetattr
检查的另一个问题是,if 是 的子类,它以编程方式计算到您希望它何时。如果一个对象是列表的子类,它应该像列表一样工作:检查另一个答案中提供的类型将防止这种情况。(但是,将起作用)。type(A) is type(B)ABfalsetrueisinstance
模板简介:该模板名称为【在 Python 中检查类型的规范方法是什么?有没有方法来确定变量是列表、字典还是其他东西?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。