2024-09-24 02:18:30 发布
网友
a = ['a', 'b', 'c', 'd'] b = set(a) print isinstance(a, types.ListType) print isinstance(b, types.ListType)
结果表明b不是类型.列表类型. 但是,Python中没有SetType。那么“XXXType”是什么类型的呢,类型.xxx类型)是真的吗?在
使用isinstance(b, set)。在
isinstance(b, set)
对内置类型的types引用只是为了方便起见,*,否则将被弃用(它们已从Python 3.x version of the ^{} module中删除)。因此,从未添加{}。在
types
例如,types.ListType只是list的别名:
types.ListType
list
>>> import types >>> types.ListType is list True >>> isinstance([1, 2, 3], list) True
如果必须在types模块中有SetType引用,只需自己添加别名:
SetType
如果您正在为基本容器类型寻找一个抽象基类,请使用^{} module ABCs;这些标志着方法的类型支持和针对这些类型的检查可以让您检测支持特定操作的更广泛的类型集(而不是仅是list和{}类型的实例):
>>> from collections import Set, MutableSequence >>> isinstance([1, 2, 3], MutableSequence) True >>> isinstance({1, 2, 3}, Set) True
*历史教训:很久以前,像int和list这样的内置类型并不是真正的类,而内置名称int()和list()只是函数来转换成内置类型。这意味着名称与types.IntType和types.ListType不是同一个对象,而且您可以使用types模块来对列表对象使用isinstance()。这段时间已经很长了,远远落后于我们,types模块的角色已经改变。在
int
int()
list()
types.IntType
isinstance()
使用
isinstance(b, set)
。在对内置类型的} module 中删除)。因此,从未添加{}。在
types
引用只是为了方便起见,*,否则将被弃用(它们已从Python 3.x version of the ^{例如,
types.ListType
只是list
的别名:如果必须在
^{pr2}$types
模块中有SetType
引用,只需自己添加别名:如果您正在为基本容器类型寻找一个抽象基类,请使用^{} module ABCs ;这些标志着方法的类型支持和针对这些类型的检查可以让您检测支持特定操作的更广泛的类型集(而不是仅是}类型的实例):
list
和{*历史教训:很久以前,像
int
和list
这样的内置类型并不是真正的类,而内置名称int()
和list()
只是函数来转换成内置类型。这意味着名称与types.IntType
和types.ListType
不是同一个对象,而且您可以使用types
模块来对列表对象使用isinstance()
。这段时间已经很长了,远远落后于我们,types
模块的角色已经改变。在相关问题 更多 >
编程相关推荐