博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python的issubclass和isinstance以及property
阅读量:6311 次
发布时间:2019-06-22

本文共 998 字,大约阅读时间需要 3 分钟。

issubclass(A类,B类) A类如果是B类的子类,则返回True

isinstance(object,classinfo) 检查一个实例对象是否是某类的
1.第一个参数如果不是对象,则永远返回false
2.第二个参数不是类或者由类对象组成的元组,会抛出一个TypeError异常
hasattr(object,'name') 第一个参数为对象,第二个参数为属性名,判断属性是否属于某对象
getattr(object,name,[default]) 判断某属性是否存在,存在则返回属性值,不存在则报错,如果指定default字符串,则返回固定字符串
setattr(object,name,value) 给对象设置属性,第一个参数为对象名,第二个参数为字符串类型属性名,第三个参数为属性值
delattr(对象名,‘属性名’) 删除对象的某个属性
property(获取属性的方法,设置属性的方法,删除属性的方法) 设置定义好的属性:

>>> class C:    def __init__(self,size = 10):        self.size = size        pass    def getSize(self):        return self.size    def setSize(self,value):        self.size = value        pass    def delSize(self):        del self.size        pass    x = property(getSize,setSize,delSize)    pass>>> c1 = C()>>> c1.getSize()10>>> c1.x10>>> c1.x = 50>>> c1.x50>>> del c1.x>>> c1.sizeTraceback (most recent call last):  File "
", line 1, in
c1.sizeAttributeError: 'C' object has no attribute 'size'>>>

转载于:https://blog.51cto.com/3945465/2369585

你可能感兴趣的文章
.NET基础拾遗(3)字符串、集合和流
查看>>
AngularJS中ui-router全攻略
查看>>
[Big Data - Kafka] Kafka设计解析(二):Kafka High Availability (上)
查看>>
UNIGUI换版本注意事项
查看>>
Atlas UpdatePanel简要介绍
查看>>
用C#如何防止MDI子窗体被多次实例化
查看>>
cygwin
查看>>
双数组Trie的一种实现
查看>>
果粉看过来
查看>>
高级进阶DB2(第2版)——内部结构、高级管理与问题诊断
查看>>
Java编程兵书
查看>>
关于电平触发和边沿触发的不同
查看>>
C# 添加用户自定义控件的两种方式
查看>>
sql:Mysql create view,function,procedure
查看>>
IE浏览器又曝出新安全漏洞 IE8未能幸免
查看>>
详解.NET程序集“.NET研究”的加载规则
查看>>
如何使用PHP编写daemon process
查看>>
smarty手册-smarty中foreach循环语句详解
查看>>
微软BI 之SSIS 系列 - Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧
查看>>
Beginning Storyboards in iOS 5 Part 1(转载)
查看>>