零基础入门学习Python(20):对象(5)类和对象的内置函数
来源:互联网 发布:js视频进度条 编辑:程序博客网 时间:2024/05/16 19:00
零基础入门学习Python(20):对象(5)类和对象的内置函数
作为对象的最后一节内容,下面通过举例介绍一下类和对象的一些相关的内置函数(BIF)。
1、issubclass(class, classinfo):判断class是不是classinfo的子类
1)一个类被认为是其自身的子类,object是所有类的基类;
2)classinfo可以是类对象组成的元组,只要class是其中一个候选类的子类,则返回True,其他情况抛出TypeError异常。
>>> class A: pass>>> class B(A): #类B继承类A pass>>> issubclass(B,A)True>>> issubclass(B,B)True>>> issubclass(B,object) #object是所有类的基类True>>> class C: pass>>> issubclass(B,C)False
2、isinstance(object,classinfo ):检查一个实例对象是否属于一个类
1)如果第一个参数不是对象,则永远返回False;
2)如果第二个参数不是类或者由类对象组成的元组,则会抛出一个TypeError异常。
>>> b1 = B() #创建一个B的实例对象>>> isinstance(b1,B)True>>> isinstance(b1,A) #A是B的基类,B的对象也属于A的对象True>>> isinstance(B,A) #第一个参数必须是对象False>>> isinstance(b1,(A,B,C)) #只要b1是类组成的元组中的任意一个类的实例对象,函数都返回TrueTrue
3、hasattr(object,name):测试一个对象里面是否有指定的属性,其中,object是对象,name是用表示字符串的引号引起来的属性名。
>>> c1 = C()>>> hasattr(c1,'x') #上面定义的类C中没有定义任何属性,所以其对象c1中没有属性xFalse>>> class C: #重新定义C,则其拥有属性x x = 2>>> c1 = C()>>> hasattr(c1,'x')True
4、getattr(object, name[,default]):获得类或对象的属性
>>> getattr(c1,'x') #获得对象c1的x属性2>>> getattr(C,'x')2>>> getattr(c1,'y') #获得不存在的属性时会抛出AttributeError异常Traceback (most recent call last): File "<pyshell#34>", line 1, in <module> getattr(c1,'y')AttributeError: 'C' object has no attribute 'y'>>> getattr(c1,'y','NoExist') #第三个参数可以用来设置出错时要显示的内容'NoExist'
5、setattr(object, name, value):设置类或对象的属性
>>> setattr(c1,'y',7) #设置对象的一个y属性值为7>>> getattr(c1,'y','NoExist')7>>> setattr(C,'z',1) #设置类C的一个z属性值为1>>> getattr(c1,'z','NoExist')#此时可以通过对象c1获得类C设置的属性值1>>> getattr(C,'y','NoExist') #但是通过类C不能获得其对象c1设置的属性值'NoExist'
6、delattr(object, name):删除类或对象的属性
>>> delattr(c1,'y') #删除对象c1的y属性>>> getattr(c1,'y','NoExist')'NoExist'>>> delattr(c1,'z') #不能通过对象删除其类中定义的属性Traceback (most recent call last): File "<pyshell#44>", line 1, in <module> delattr(c1,'z')AttributeError: z
7、property(fget = None, fset = None, fdel = None, doc = None):设置属性的属性
>>> class A: def __init__(self, size = 7): self.size = size def getSize(self): return self.size def setSize(self, value): self.size = value def delSize(self): del self.size x = property(getSize, setSize, delSize)>>> a1 = A()>>> a1.getSize()7>>> a1.x #通过访问对象的x属性也可以得到size属性的值7>>> a1.x = 10 #通过x修改属性size>>> a1.size10>>> del a1.x #删除x属性之后,size属性也被删除了>>> a1.sizeTraceback (most recent call last): File "<pyshell#65>", line 1, in <module> a1.sizeAttributeError: 'A' object has no attribute 'size'
零基础入门学习Python(19):对象(4)组合、绑定
2 0
- 零基础入门学习Python(20):对象(5)类和对象的内置函数
- 《零基础入门学习Python》学习过程笔记【40类和对象的相关内置函数】
- 零基础入门学习Python(16):对象(1)
- 零基础入门学习Python(17):对象(2)
- ASP.NET零基础学习(三):内置对象
- 零基础入门学习Python(18):对象(3)继承
- 零基础入门学习Python(19):对象(4)组合、绑定
- python的类和对象---python入门学习(四)
- Python零基础入门之八lambda的表达式和filter、map内置函数
- 零基础入门学习Python(10):函数
- Python零基础入门十四之对象
- 零基础入门学习Python(11):内嵌函数、闭包和变量作用域
- 零基础入门学习Python(27):模块和包
- Python零基础入门之七变量与内置函数
- 零基础入门学习Python(1)
- JS基础学习第六天:JavaScript对象入门(构造函数和实例对象)
- 零基础入门-javaScript学习笔记之对象和不一样的this
- python 迭代、Iterable(可迭代)对象的判断和内置函数enumerate的使用
- 每日数据统计排序
- Java和adb的环境变量配置
- 如何让ubuntu启动后自动加载硬盘分区?
- 寻找view所在的viewController
- 经常碰到的xcode报错提示
- 零基础入门学习Python(20):对象(5)类和对象的内置函数
- 一个例子让你了解Java反射机制
- Android开发之关于listview中getView()调用两遍的问题
- tar命令 文件压缩与解压
- IOS平台音频处理API介绍
- 响应式-瀑布流
- aapt命令详解
- android 图片 高斯模糊 Blur Android Studio JNI NDK 生成 so 问题汇总
- Android线程模型--在子线程中更新UI