python中类和对象的常用内置方法和属性操作
issubclass(class , classinfo):如果class是classinfo的子类返回True,否则返回False
1、一个类会被认为是自身的子类
2、classinfo可以是类对象组成的元组,只要class是其中任何一个候选类的子类则返回True
isinstance(object,classinfo):检查一个对象object是否是classinfo类的实例对象
1、如果第一个参数传入的不是对象,则永远会返回False
2、如果object是classinfo的子类的实例对象也返回True
3、classinfo可以是类对象组成的元组,只要object是其中任何一个候选类的实例对象或候选类的子类的实例对象则返回True
attribute:属性操作方法
dir([obj]):返回传递给它的任何对象的经过排序的属性名称列表(会有一些特殊的属性不包含在内)。如果不指定对象,则dir()返回当前作用域中的名称(obj的默认值是当前的模块对象)。
hasattr(object,name):测试object对象是否有name属性
getattr(object,name[,default]):获取object对象的指定name属性值,如果指定属性不存在,如果设置了default,返回default值,否则抛出一个AttributeErroe的异常
setattr(object,name,value):修改或新建object对象的name属性值为value
delattr(object,name):删除object对象的name属性,如果name属性不存在抛出AttributeErroe的异常
property(fget=None, fset=None, fdel=None, doc=None):通过属性来设置属性,通过传入已经定义好的方法来实现对属性的操作
class C: def __init__(self): self.day = day def gday(self): return self.day def sday(self , value): self.day = value def dday(self): del self.day d = property(gday,sday,dday) a = C(20) a.d #等同于a.gday(),都返回20 a.d = 15 #等同于a.sday(15) a.gday() #15 del a.d #等同于a.dday()