19 反射

Posted lw1095950124

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19 反射相关的知识,希望对你有一定的参考价值。

三十八. 

  一,isinstance, type , issubclass

   1.issubclass(x,y)    判断x是否是y 的子类

    

技术分享图片

 

     2.type(x)   精准返回x的数据类型

技术分享图片

 

    3.isinstance(x,y) 判断x是否是y类型的数据

    只能向上判断

技术分享图片

二.区分函数和方法

  1.打印变量名有  function   就是函数

        有  method  就是方法

技术分享图片

技术分享图片

 

   2.

  ①.实例方法 

    访问时    类名.方法      是函数

              对象.方法     是方法

  ② 类方法   都是方法

  ③静态方法   都是函数

 

       3.其他:

  用模块 :from types import MethodType, FunctionType

      isinstance(x,MethodType)        判断是否是方法

      isinstance(x,FunctionType)        判断是否是函数

 三.反射

  1.hasattr(对象,功能)

    判断对象有没有这个功能

  2.getattr(对象,功能)

    得到这个功能

  3.setattr(对象,属性,新增)

    属性存在时改变旧值

            不存在时新增

  4.delattr(对象,属性)

      把属性移除

技术分享图片

以上是关于19 反射的主要内容,如果未能解决你的问题,请参考以下文章

19 异常,反射(转)

19 反射

19 反射

如何通过反射将参数传递给方法

《类的加载与反射》第3节:反射

C# 反射索引属性