zoukankan      html  css  js  c++  java
  • 【Pyton】【小甲鱼】类和对象:一些相关的BIF(内置函数)

    1.issubclass(class,classinfo)

    1)一个类被认为是其自身的子类

    2)classinfo可以使类对象组成的元祖,只要class与其中任何一个候选类的子类,则返回True。

     1 >>> class A:
     2     pass
     3 
     4 >>> class B(A):
     5     pass
     6 
     7 >>> issubclass(B,A)
     8 True
     9 >>> issubclass(B,B) #B是自身的子类
    10 True
    11 >>> issubclass(B,object)
    12 True
    13 >>> issubclass(B,C)
    14 Traceback (most recent call last):
    15   File "<pyshell#35>", line 1, in <module>
    16     issubclass(B,C)
    17 NameError: name 'C' is not defined
    18 >>> class C:
    19     pass
    20 
    21 >>> issubclass(B,C)
    22 False

    2.isinstance(object,classinfo)

    1)如果第一个参数不是对象,则永远返回false

    2)如果第二个参数不是类或者由类对象组成的元祖,会抛出一个TypeError异常。

    3.hasattr(object,name)---第一个参数为对象,第二个参数为属性---判断对象中是否有某一属性

    4.getattr(object,name[,default])--第一个参数为对象,第二个对象为属性,第三个参数为没在对象中找到该属性的自定义报错信息

    5.setattr(object,name,value)----第一个参数为对象,第二个参数为属性,第三个参数为没有找到该属性自动创建该属性对应的赋值

    6.delattr(object,name)--删除对象中不存在的属性,如果不存在则会抛出Attributeerror的异常。

    7.property(fget=None,fset=Nnoe,fdel=None,doc=None)---通过属性设置属性。获取,设置,删除

     1 >>> class C:
     2     def __init__(self,size=10):
     3         self.size=size #实例属性
     4     def getSize(self):
     5         return self.size
     6     def setSize(self,value):
     7         self.size=value
     8     def delSize(self):
     9         del self.size
    10     x=property(getSize,setSize,delSize)
    11 
    12     
    13 >>> c1=C()
    14 >>> c1.getSize() #获得c1中属性值
    15 10
    16 >>> c1.x #直接访问x获得属性值
    17 10
    18 >>> c1.x=18 #重新设置属性值
    19 >>> c1.x
    20 18
    21 >>> c1.getSize()
    22 18
    23 >>> del c1.x
    24 >>> c1.size
    25 Traceback (most recent call last):
    26   File "<pyshell#19>", line 1, in <module>
    27     c1.size
    28 AttributeError: 'C' object has no attribute 'size'
  • 相关阅读:
    [CF724G]Xor-matic Number of the Graph
    [SOJ #537]不包含 [CF102129I]Incomparable Pairs(2019-8-6考试)
    [SOJ #538]好数 [CC]FAVNUM(2019-8-6考试)
    [洛谷P4052][JSOI2007]文本生成器
    [洛谷P3966][TJOI2013]单词
    [洛谷P5158]【模板】多项式快速插值
    [洛谷P3227][HNOI2013]切糕
    【bzoj】3477: [Usaco2014 Mar]Sabotage 01分数规划
    【SPOJ
    【以前的空间】系列
  • 原文地址:https://www.cnblogs.com/zhuzhubaoya/p/6568880.html
Copyright © 2011-2022 走看看