Python isinstance) 函数
描述
isinstance) 函数来判断一个对象是否是一个已知的类型,类似 type)。
isinstance) 与 type) 区别:
type) 不会认为子类是一种父类类型,不考虑继承关系。
isinstance) 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance)。
语法
以下是 isinstance) 方法的语法:
isinstanceobject, classinfo)
参数
object – 实例对象。
classinfo – 可以是直接或间接类名、基本类型或者由它们组成的元组。
返回值
如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。
实例
以下展示了使用 isinstance 函数的实例:
>>>a = 2
>>> isinstance a,int)
True
>>> isinstance a,str)
False
>>> isinstance a,str,int,list)) # 是元组中的一个返回 True
True
type) 与 isinstance)区别:
class A:passclass BA):passisinstanceA), A) # returns True
typeA)) == A # returns True
isinstanceB), A) # returns True
typeB)) == A # returns False
对于基本类型来说 classinfo 可以是:
int,float,bool,complex,str字符串),list,dict字典),set,tuple
要注意的是,classinfo 的字符串是 str 而不是 string,字典也是简写 dict。
实例
arg=123
isinstancearg, int) #输出True
isinstancearg, str) #输出False
isinstancearg, string) #报错
例题:
1.Python列表或元组的数字元素求和
2.Python列表数字元素加权和
3.Python列表元素个数的加权和
4.Python求嵌套列表指定层的元素个数