第23天(反射)

1、反射

hasattr、getattr

这两个一般配合使用。其用法是getattr(a,'asd'),前者是类名(所在地),后者必须是字符串类型,hasattr用法与其一致。不同的地方在于,hasattr是检测是否有这个方法或者是属性,而getattr则是执行。

gatattr的用处很广,因为其后面的参数是以恶搞字符串的类型,可以搭配input使用,这样就大大的增强了程序的灵活性

还有俩不常用的 setattr与delattr,

前者是有3个参数,(在什么地方,叫啥名字,改成什么),用作创建或修改变量,可能偶尔会用到

后者是有2个参数,(在什么地方,叫啥名字),用作删除,非常不常用

2、isinstance 与  issubclass

类似于type是判断类型的,返回值都是bool,但是有不同的地方。

如isinstance可以判别继承关系,type就不可以,用法是isinstance(a, b)

issubclass可以判别继承关系,但是必须是issubclass(子类,父类)才会返回Ture

猜你喜欢

转载自www.cnblogs.com/ylx900/p/8876583.html