1.issbuclass/type/isinstance
1.issbuclass() 判断第一个参数是否为第二个参数的后代
2.type() 给出数据类型 给出创建这个对象的类
比较精准的给出对象的类
3.isinstance 判断是否为某种变量 按照语义走
子类的对象可以当做父类类型判断 往上层找
2.如何分辨函数和方法
在外面定义的函数:一定是函数
实例方法 对象.方法 方法 类名.方法 类名
静态方法都是函数
类方法都是方法
from types import FunctionType,MethodType #这两个是判断标准
3.反射
1.getattr(master,xxxx)
从xxx对象或者模块中找xxxx功能(字符串)
找不来的有可能是变量或者属性
callable ===> 是否可以被调用
2.hasattr(master,val) 反射
你先输入,我再根据你输入的去查找
3.面向对象的反射
4.setattr(master,"test",xxx) #讲test换成xxx
setattr(p,"age",18) #设置属性 有就替换 没有就添加
慎用===>容易被骂娘
5.delattr(master,xxx) 删除