1、检查、判断
issubclass(class, classinfo)如果第一个参数是第二个参数的子类,返回true,注意:
- 非严格(自己可以认为是自己的子类);
- 第二个参数可以是由多个class组成的tuple,有任何一个合适,就true;
- 其他情况对抛出typeerror
isinstance(object, classinfo)检查某第一个参数实例对象是否属于一个类
- 第二个参数可以是由多个class组成的tuple,有任何一个合适,就true;
- 如果第一个参数传入不是对象类型,永远返回false
- 如果第二个参数不是类或者由类对象组成的tuple,会抛出TypeError
2、点操作符号访问对象属性,attribute相关:
hasattr(object, name) 对象是否有制定的属性name,name需要用引号括起来,否则他会认为是变量,
getattr(object, name [, default]) 获得对象object的name属性,如果不存在,返回default,若没有设置default,不存在时会抛出AttributeError
- getattr(A, ‘b‘, ‘您所访问的属性不存在‘)
setattr(object, name, value) 设置对象name属性的值为value,若属性不存在会新建新的属性
delattr(object, name) 删除制定的属性,若不在抛出AttributeError
property() 通过属性设置属性
- x = property(getSize, setSize, delSize)设置一个x属性,能操作getSize、setSize、delSize(提前自己写好)方法
- x可以作为调用接口,里边的方法可以大改,比如改名字等,增加方法。
- 工作原理:组合了几个魔法方法
时间: 2024-10-10 23:30:31