Python严格要求需要有实例才能调用方法,这种限制实际上就是Python的绑定机制。
这么做会存在一个问题,就是根据类实例化后的对象无法使用类里面的函数
在深入了解一下
使用dict查看对象拥有的属性
dict属性由一个字典组成,键表示属性名,值表示数据值。
把类实例删除掉,实例对象d仍然能调用printXY
issubclass(class,classinfo)
如果第一个参数(class)是第二个参数(classinfo)的一个子类,返回True,否则返回False:
isinstance(object,classinfo)
如果第一个参数(object)是第二个参数(classinfo)的实例对象,则返回True,否则返回False:
hasattrr(object,name)
attr是attribute的缩写,是属性的意思。
getattr(object,name[,default])
返回对象指定的属性值,如果指定的属性不存在,则返回default(可选参数)的值;若没有设置default参数,则抛出ArttributeError异常。
setattr(object,name,value)
与getattr()对应,setattr()可以设置对象中指定属性的值,如果指定的属性不存在,则会新建属性并赋值。
delattr(object,name)
与setattr()相反,delattr()用于删除对象中指定的属性,如果属性不存在,则会抛出AttributeError异常。
property(fget = None,fset = None,fdel = None,doc = None)
作用是通过属性来设置属性。
property()返回一个可以设置属性的属性,有了Property()用户访问size属性只提供了x属性,无论内部怎么改动,只需要相应的修改property()的参数,用户只需要去操作x属性即可。
领取专属 10元无门槛券
私享最新 技术干货