本文主要是介绍【Python】issubclass/type/isinstance的用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- issubclass
issubclassclass Base(object):passclass Foo(Base):passclass Bar(Foo):passprint(issubclass(Bar,Base)) # 检查第一个参数是否是第二个参数的 子子孙孙类
- type
type:获取当前对象是由那个类创建。或者判断是什么类型"""class Foo(object):passobj = Foo()print(obj,type(obj)) # 获取当前对象是由那个类创建。if type(obj) == Foo:print('obj是Foo类型')"""# #### 练习题 """class Foo(object):passclass Bar(object):passdef func(*args):foo_counter =0bar_counter =0for item in args:if type(item) == Foo:foo_counter += 1elif type(item) == Bar:bar_counter += 1return foo_counter,bar_counter# result = func(Foo(),Bar(),Foo())# print(result)v1,v2 = func(Foo(),Bar(),Foo())print(v1,v2)
- isinstance
isinstance,检查第一个参数(对象)是否是第二个参数(类及父类)的实例。class Base(object):passclass Foo(Base):passobj1 = Foo()print(isinstance(obj1,Foo)) # 检查第一个参数(对象)是否是第二个参数(类及父类)的实例。print(isinstance(obj1,Base)) # 检查第一个参数(对象)是否是第二个参数(类及父类)的实例。obj2 = Base()print(isinstance(obj2,Foo)) # 检查第一个参数(对象)是否是第二个参数(类及父类)的实例。print(isinstance(obj2,Base)) # 检查第一个参数(对象)是否是第二个参数(类及父类)的实例。
- 判断是否是方法和函数
称谓:在类里面,方法在类外,函数
到底方法函数?对象.xxx --> xxx就是方法类.xxx --> xxx就是函数xxx --> xxx就是函数
打印查看:function method 代码检查:from types import MethodType,FunctionType#下面定义函数的作用是检查是方法还是函数def check(arg):"""检查arg是方法还是函数?:param arg::return:"""if isinstance(arg,MethodType):print('arg是一个方法')elif isinstance(arg,FunctionType):print('arg是一个函数')else:print('不知道是什么')
这篇关于【Python】issubclass/type/isinstance的用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!