python--类常用的BIF函数(二十五)

举报
brucexiaogui 发表于 2021/12/29 23:09:32 2021/12/29
【摘要】 python--类常用的BIF函数(二十五)   # 类的常用BIF方法# issubclass(子类,父类) 判断一个类是不是另一个类的子类class A: passclass B(A): passprint(issubclass(B,A)) #Trueprint(issubclass(B,object))...

python--类常用的BIF函数(二十五)

 


  
  1. # 类的常用BIF方法
  2. # issubclass(子类,父类) 判断一个类是不是另一个类的子类
  3. class A:
  4. pass
  5. class B(A):
  6. pass
  7. print(issubclass(B,A)) #True
  8. print(issubclass(B,object)) #True
  9. '''
  10. 语法:isinstance(object,type)
  11. 作用:来判断一个对象是否是一个已知的类型。
  12. 其第一个参数(object)为对象,第二个参数(type)为类型名(int...)或类型名的一个列表((int,list,float)是一个列表)。其返回值为布尔型(True or flase)。
  13. 若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。
  14. '''
  15. class A:
  16. pass
  17. class B(A):
  18. pass
  19. class C():
  20. pass
  21. b = B()
  22. print(isinstance(b,B)) #True
  23. print(isinstance(b,A)) #True
  24. print(isinstance(b,C)) #False
  25. '''
  26. hasattr(object, name)
  27. 判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False。
  28. 需要注意的是name要用括号括起来
  29. getattr(object, name[,default])
  30. 获取对象object的属性或者方法,如果存在打印出来,如果不存在,打印出默认值,默认值可选。
  31. 需要注意的是,如果是返回的对象的方法,返回的是方法的内存地址,如果需要运行这个方法,
  32. 可以在后面添加一对括号。
  33. setattr(object, name, values)
  34. 给对象的属性赋值,若属性不存在,先创建再赋值。
  35. delattr delattr(object, name) 删除属性。 属性存在则无返回,否则报 AttributeError。
  36. '''
  37. # hasattr(object, name)
  38. class D:
  39. num = 0
  40. def fum(self,x):
  41. self.num = x
  42. d = D()
  43. print(hasattr(d,'fum')) #True
  44. print(hasattr(d,'num')) #True
  45. # getattr()
  46. print(getattr(d,'fum'))
  47. print(getattr(d,'y','d对象访问的y不存在'))
  48. # setattr()
  49. print(setattr(d,'y','y的值'))
  50. print(getattr(d,'y')) #y的值
  51. # delattr()
  52. print(delattr(d,'y')) #删除了y的属性
  53. # property属性简化get和set方法
  54. class C:
  55. def __init__(self,size=10):
  56. self.size = size
  57. def getSize(self):
  58. return self.size
  59. def setSize(self,value):
  60. self.size = value
  61. def delSize(self):
  62. self.size
  63. x = property(getSize,setSize,delSize)
  64. c = C()
  65. print(c.getSize()) #通过对象调用getSize方法获取x的值
  66. print(c.x) #使用property后,对象可以直接调用property调用x的值
  67. c.x = 30 #使用property后,对象可以直接调用property设置x的值
  68. print(c.x)

 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/80434107

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。