首页 > 编程语言 > 详细

Python笔记(二十一)_内置函数、内置方法

时间:2019-06-19 23:36:40      阅读:136      评论:0      收藏:0      [点我收藏+]

内置函数

issubclass(class1,class2)

判断class1类是否为class2类的子类,返回True和False

 

注意1:类会被认为是自身的子类

 >>>class Student():

   pass 

>>>issubclass(Dog,Dog)

True

注意2:class2可以是一个包含多个类的元组

 >>>class Teacher():

  pass

>>>issubclass(Student,(Student,Teacher))

True

注意3:所有类都是object的子类

>>> issubclass(Dog,object)

True

 

 isinstance(instance,class)

判断instance是否为class类的实例化对象,返回True和False

 

注意1:

如果instance不传实例对象,结果永远为False

>>> isinstance(student,Student)

True

>>> isinstance(Student,Student)

False

>>> isinstance(‘demi‘,Student)

False

注意2:

如果class不传类或由类组成的元组,则抛出TypeError异常

>>> isinstance(teacher,(Student,Teacher))

True

>>> isinstance(teacher,teacher)

TypeError: isinstance() arg 2 must be a type or tuple of types

 

内置方法

hasattr(object,attribute)

判断object对象是否有attribute属性,返回True和False;其中属性需要用字符串的引号括起来,否则会被当做变量

 getattr(object,attribute[,default])

判断object对象是否有attribute属性,可返回用户自定义;如果object对象不包含attribute属性,则打印default

 setattr(object,attribute,value)

设定object对象中的attribute属性的值为value;如果object对象不包含attribute属性,则新建该属性并赋值

 delattr(object,attribute)

删除object对象中的attribute属性;当指定attribute不存在时,抛出AttributeError异常

 property(fget,fset,fdel)

用属性来访问属性,以函数的形式来定义一个属性,括号中传入方法名称

 

class C:

    def __init__(self,x=0):

        self.x = x

    def getx(self):

        return self.x

    def setx(self,value):

        self.x = value

    def delx(self):

        del self.x

y = property(getx,setx,delx)

如果 c 是 C 的实例化:c.y 将触发 geattr;c.y = value 将触发 seattr;del c.y 触发 delattr

Python笔记(二十一)_内置函数、内置方法

原文:https://www.cnblogs.com/demilisi/p/11048174.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!