• 【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'
  • 相关阅读:
    多网卡环境下Eureka服务注册IP选择问题
    SpringCloud服务间调用
    Feign性能优化注意事项
    FeignClient使用
    Spring Boot优化
    nginx反向代理 强制https请求
    解决CentOS缺少共享库
    脚本加密http://www.datsi.fi.upm.es/~frosal/sources/
    tar加密
    系统用户在Samba服务器中起一个别名
  • 原文地址:https://www.cnblogs.com/zhuzhubaoya/p/6568880.html
Copyright © 2020-2023  润新知