1、反射
hasattr、getattr
这两个一般配合使用。其用法是getattr(a,'asd'),前者是类名(所在地),后者必须是字符串类型,hasattr用法与其一致。不同的地方在于,hasattr是检测是否有这个方法或者是属性,而getattr则是执行。
gatattr的用处很广,因为其后面的参数是以恶搞字符串的类型,可以搭配input使用,这样就大大的增强了程序的灵活性
还有俩不常用的 setattr与delattr,
前者是有3个参数,(在什么地方,叫啥名字,改成什么),用作创建或修改变量,可能偶尔会用到
后者是有2个参数,(在什么地方,叫啥名字),用作删除,非常不常用
2、isinstance 与 issubclass
类似于type是判断类型的,返回值都是bool,但是有不同的地方。
如isinstance可以判别继承关系,type就不可以,用法是isinstance(对象, 类)
issubclass可以判别继承关系,但是必须是issubclass(子类,父类)才会返回Ture