【Python】issubclass/type/isinstance的用法(python isinstance用法)

网友投稿 329 2022-08-27


【Python】issubclass/type/isinstance的用法(python isinstance用法)

issubclass

issubclass class Base(object): pass class Foo(Base): pass class Bar(Foo): pass print(issubclass(Bar,Base)) # 检查第一个参数是否是第二个参数的 子子孙孙类

type

type:获取当前对象是由那个类创建。或者判断是什么类型 """ class Foo(object): pass obj = Foo() print(obj,type(obj)) # 获取当前对象是由那个类创建。 if type(obj) == Foo: print('obj是Foo类型') """ # #### 练习题 """ class Foo(object): pass class Bar(object): pass def func(*args): foo_counter =0 bar_counter =0 for item in args: if type(item) == Foo: foo_counter += 1 elif type(item) == Bar: bar_counter += 1 return 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): pass class Foo(Base): pass obj1 = 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('不知道是什么')


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 数据结构与算法系列精讲之时间复杂度与空间复杂度
下一篇:【Python】生成日志(python生成日志文件)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~