面向对象-常用函数
Posted lws865
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象-常用函数相关的知识,希望对你有一定的参考价值。
issubclass()
作用:检测一个类是否是另一个类的子类
格式:issubclass(子类,父类)
返回值:布尔值
注意事项:只要存在于继承关系中 就成立
1 #issubclass 2 class Father(object): 3 pass 4 class Son(Father): 5 pass 6 result = issubclass(Son,object) 7 print(result) 8 #输出结果:True
isinstance()
作用:检测一个对象是否是指定类的实例
格式:isinstance(对象,类)
返回值:布尔值
1 #isinstance 2 class Monkey: 3 pass 4 class Human: 5 pass 6 ren = Human() 7 result = isinstance(ren,(Monkey,Human)) 8 print(result) 9 #输出结果:True
hasattr()
作用:检测类/对象是否包含指定名称的成员
格式:hasattr(对象,成员名称)
返回值:布尔值
注意:可以检测类也可以检测对象,只要可以访问就算存在
1 #hasattr() 2 class Human: 3 #成员属性 4 age = 1 5 sex = ‘man‘ 6 #成员方法 7 def cry(self): 8 print(‘555555‘) 9 #对类进行成员检测 10 result = hasattr(Human,‘smile‘) 11 print(result) 12 #输出结果:False 13 #实例化对象 14 ren = Human() 15 result = hasattr(ren,‘age‘) 16 print(result) 17 #输出结果:True
getattr()
作用:获取类.对象的成员值
格式:getattr(对象,成员名称,默认值)
返回值:不确定
1 #getattr() 2 class Monkey: 3 #属性 4 age = 10 5 sex = ‘雄‘ 6 color = ‘golden‘ 7 #方法 8 def say(self): 9 print(‘叽叽叽叽~‘) 10 #实例化对象 11 houzi = Monkey() 12 #获取猴子的颜色 13 print(houzi.color)#语法方式 14 #输出结果:golden 15 16 result = getattr(houzi,‘color‘)#函数方式 17 print(result) 18 #输出结果:golden 19 20 #获取不存在的成员 21 #print(houzi.name) 22 #输出结果:AttributeError: ‘Monkey‘ object has no attribute ‘name‘ 23 24 result = getattr(houzi,‘name‘,‘小猴子~‘) 25 print(result) 26 #输出结果:小猴子~
setattr()
作用:设置类/对象的成员值
格式:setattr(对象,成员名称,设置的值)
返回值:无
1 #setattr() 2 class Monkey: 3 #属性 4 age = 10 5 sex = ‘雄‘ 6 color = ‘golden‘ 7 #方法 8 def say(self): 9 print(‘叽叽叽叽~‘) 10 #实例化对象 11 houzi = Monkey() 12 print(houzi.__dict__) 13 #输出结果:{} 14 15 #设置对象成员 16 #houzi.name = ‘小悟空‘#语法方式 17 #houzi.color = ‘黑色‘ 18 setattr(houzi,‘weight‘,‘100斤‘)#函数方式 19 print(houzi.__dict__) 20 #输出结果:{‘weight‘: ‘100斤‘}
delatter()
作用:删除类.对象的成员
格式:delattr(对象,成员名称)
返回值:无
1 #delattr() 2 class Monkey: 3 #属性 4 age = 10 5 sex = ‘雄‘ 6 color = ‘golden‘ 7 #方法 8 def __init__(self): 9 self.name = ‘xwk‘ 10 self.height = 100 11 def say(self): 12 print(‘叽叽叽叽~‘) 13 #实例化对象 14 houzi = Monkey() 15 print(houzi.__dict__) 16 #输出结果:{‘name‘: ‘xwk‘, ‘height‘: 100} 17 18 #del houzi.name #语法方式 19 delattr(houzi,‘height‘) 20 print(houzi.__dict__) 21 #输出结果:{‘name‘: ‘xwk‘}
dir()
作用:获取对象可以访问的所有成员的列表
property()
作用:设置描述符操作的函数
以上是关于面向对象-常用函数的主要内容,如果未能解决你的问题,请参考以下文章