python bif_Python 学习笔记 -- 一些常用的BIF

1 #一些常用的BIF和使用实例

2

3 #-------------------------------------------------------------------

4 #issubclass 判断一个类是否是另外一些类的子类

5 #issubclass(class,classinfo) classinfo 可以是类对象组成的元组,只要class与其中任何一个候选类的子类,则返回True

6 classA:7 pass

8 classB(A):9 pass

10 classC:11 pass

12

13 print("B是否是A的子类:",issubclass(B,A)) #True

14 print("B是否是B的子类:",issubclass(B,B)) #注意:它返回True,认为B是B的子类

15 print("B是否是C的子类:",issubclass(B,C)) #False

16 print("B是否是A、B、C中某个类的子类:",issubclass(B,(A,B,C))) #True

17 #-------------------------------------------------------------------

18

19 #-------------------------------------------------------------------

20 #isinstance 判断一个对象是否是某些类型

21 #isinstance(object,classinfo) #第一个参数是实例对象,第二个参数是类或者是一堆类对象的元组

22 classA:23 pass

24 classB(A):25 pass

26 classC:27 pass

28

29 b =B()30 print("b是否是A类型的:",isinstance(b,A)) #True

31 print("b是否是B类型的:",isinstance(b,B)) #True

32 print("b是否是C类型的:",isinstance(b,C)) #False

33 print("b是否是A、B、C中其中一种类型的:",isinstance(b,(A,B,C))) #True

34 print("故意犯错:",isinstance(B,(A,B,C))) #这里第一个参数如果不是实例对象,将永远返回False

35 #-------------------------------------------------------------------

36

37 #-------------------------------------------------------------------

38 #hasattr(object,name) 是否有属性,name是一个字符串

39 #getattr(object,name[,default]) 获取属性,default是字符串,当获取失败时返回

40 #setattr(object,name,value) 设置属性

41 #delattr(object,name) 删除属性

42 classA:43 def __init__(self, x=1):44 self.x =x45 a =A()46 if hasattr(a,"x"):47 print("有")48 print(getattr(a,"y","对不起没有y这个属性"))49 setattr(a,"y",10)50 print(a.y)51 delattr(a,"y")52 #-------------------------------------------------------------------

53

54 #-------------------------------------------------------------------

55 #property 使用一个对象,用对象调用函数,函数设置对象属性值。

56 #property(fget=None,fset=None,fdel=None,doc=None)

57 classTest:58

59 def __init__(self,size = 1,count = 2):60 self.size =size61 self.count =count62

63 defgetSize(self):64 returnself.size65 defsetSize(self,value):66 self.size =value67 defdelSize(selfCount):68 delself.size69

70 defgetCount(self):71 returnself.count72 defsetCount(self,value):73 self.count =value74 defdelCount(self):75 delself.count76

77 a =property(getSize,setSize,delSize)78 b =property(getCount,setCount,delCount)79

80 test =Test()81 print(test.size) #1

82 test.a = 100

83 print(test.size) #100

84 print(test.a) #100

85

86 print(test.count)#2

87 test.b = 200

88 print(test.count)#200

89 print(test.b) #200

90

91

92 #-------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值