2020.7.16 python (p41)

类和对象的相关BIF

1.issubclass(class,classinfo)
用于判断参数 class 是否是类型参数 classinfo 的子类。如果 class 是 classinfo 的子类返回 True,否则返回 False。
(1)classinfo可以是一个***元组***
(2)自身可以是自身的子类
(3)class,classinfo都是类

>>> class A():
	pass

>>> class B(A):
	pass

>>> issubclass(B,A)
True
>>> issubclass(A,B)
False
>>> issubclass(B,object) #object是所有类的基类
True

2.isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()
isinstance(object, classinfo)
(1)object – 实例对象。
classinfo – 可以是直接或间接类名、基本类型或者由它们组成的元组。
(2)如果第一个参数不是实例对象,则永远返回False

>>> class A():
	pass

>>> class B(A):
	pass

>>> b=B()
>>> isinstance(b,A)
True

3 hasattr(object, name)
hasattr() 函数用于判断对象是否包含对应的属性。
(1)object – 对象。 name – 字符串,属性名,一定是字符串形式
(2)如果对象有该属性返回 True,否则返回 False。
4.getattr(object, name[, default])
用于返回一个对象属性值。
object – 对象。
name – 字符串,对象属性。
default – 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。

>>> class A():
	def __init__(self,x=0):
		self.x=x
>>> c=A()
>>>> getattr(c,'x')
0
>>> getattr(c,'y',3)  # 属性 bar2 不存在,但设置了默认值
3

5 setattr(object, name, value)
用于设置属性值,该属性不一定是存在的。

6. delattr(object, name)
函数用于删除属性。

7.property(fget=None, fset=None, fdel=None, doc=None)
作用是在新式类中返回属性值
fget – 获取属性值的函数
fset – 设置属性值的函数
fdel – 删除属性值函数
doc – 属性描述信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值