面向对象--08类和对象相关BIF

1.issubclass(class,classinfo)
若第一个参数是第二个参数的子类,则返回Ture。
注:
①一个类被认为是自身的子类
②classinfo可以是类对象组成的元组,只要class与其中任意一个符合关系,就返回Ture
>>> issubclass(A,object)
True
>>>

object是所有类的基类


2.isinstance(object,classinfo)
检查一个实例对象是否属于一个类
①若第一个参数不是实例对象的话,永远返回False
②如果第二个参数不是类或者类对象组成的元组,会抛出TypeError



3.hasattr(object,name)
测试某一对象是否有指定的属性。属性名name为字符串类型

4.getattr(object,name[,default])
返回对象指定的属性值,若属性不存在,则返回default(在传入可选参数default的情况下,否则抛出异常)

5.setattr(object,name,value)
设置对象中指定属性的值,如果指定的属性不存在,则会创建一个新属性,所以name要加引号(字符串)

6.delattr(object,name)
删除对象中指定的属性,若属性不存在,则报错。

7.property(fget=None,fset=None,fde=None,doc=None)
通过属性来设置属性

第一个参数为获取属性的方法,第二个参数为设置属性的方法,第三为删除属性的方法,

class C:
	def __init__(self,size=10):
		self.size = size
	def getsize(self):
		return self.size
	def setsize(self,value):
		self.size = value
	def delsize(self):
		del self.size
	x = property(getsize,setsize,delsize)
>>> c1 = C()
>>> c1.getsize()
10
>>> c1.x
10
>>> c1.x = 18
>>> c1.x
18
>>> del c1.x
>>> c1.x
Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    c1.x
  File "<pyshell#10>", line 5, in getsize
    return self.size
AttributeError: 'C' object has no attribute 'size'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值