内置函数

issubclass(class1,class2)

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

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

>>>issubclass(Dog,Dog)
True

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

>>>class Teacher():
  pass
>>>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笔记(二十一)_内置函数、内置方法的更多相关文章

  1. Python笔记(二十)_多态、组合

    多态 对于函数中的变量,我们只需要知道它这个变量是什么类,无需确切地知道它的子类型,就可以放心地调用类的方法,而具体调用的这个方法是作用在父类对象还是子类对象上,由运行时该对象的确切类型决定,这就是多 ...

  2. Python笔记(二十七)_魔法方法_容器

    定制容器 容器类型的协议: 定制不可变容器,只需要定义__len__()和__getitem__()方法 定制可变容器,需要定义__len__().__getitem__().__setitem__( ...

  3. Python笔记(二十三)_魔法方法_字符串的魔法方法

    __str__和__repr__ 如果要把一个类的实例变成字符串,就需要实现魔法方法__str__()和__repr__ >>>class A: def name(self): re ...

  4. python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

    python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0.zfill()方法语法:s ...

  5. PHP使用内置函数生成图片的方法详解

    原文地址:http://www.poluoluo.com/jzxy/201605/475301.html 本文实例讲述了PHP使用内置函数生成图片的方法.分享给大家供大家参考,具体如下: 第一步:创建 ...

  6. python装饰器内获取函数有用信息方法

    装饰器内获取函数有用信息方法 .__doc__用于得到函数注释信息 .__name_用于得到函数名 在函数引用装饰器的时候,函数名会变为装饰器内部执行该函数的名字,所有在直接执行函数名加.__doc_ ...

  7. guxh的python笔记二:函数基础

    1,函数的参数 1.1,查看函数的参数类型 def run(a, *args, b, **kwargs): return a + b 可以通过如下方式查看参数类型: import inspect k ...

  8. Python每日一练------内置函数+内置变量+内置模块

    1.内置函数 Python所有的内置函数     Built-in Functions     abs() divmod() input() open() staticmethod() all() e ...

  9. Python day12部分内置函数的常见方法

    #内置函数 print(abs(-1))#绝对值 ']))#判断list的真假,都真则真,有一个假也是假 print(any(''))#有一个真就真,全假则假 print(bin(3))#十进制转换二 ...

随机推荐

  1. JDK11 | 第四篇 : 增强API

    文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/O0xntC-JfeSBk-9x2QfwnA 一.简介 JDK 9~11 在语言语法方面有一 ...

  2. linux驱动模型——platform(2)

    一. platform 组织架构 1.1. platform工作体系都定义在drivers/base/platform.c中 1.2. platform相关函数声明在include/linux/pla ...

  3. [AHOI2013]作业 (莫队+分块)

    [AHOI2013]作业 (莫队+分块) 题面 给定了一个长度为n的数列和若干个询问,每个询问是关于数列的区间[l,r],首先你要统计该区间内大于等于a,小于等于b的数的个数,其次是所有大于等于a,小 ...

  4. [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (3/4)

    安装p10404530_112030_Linux-x86-64_6of7.zip解压下的example. 修改软件路径,为dbhome_1. 安装好数据,则可以进行快照操作! 删除安装文件. 输入db ...

  5. java 判断点是否在一条线段上

    public static void main(String[] args) { Scanner scan = new Scanner(System.in); Point point1 = new P ...

  6. Java基础学习(4)

    Java基础学习(四) String类 特点:创建后不可再修改,看起来的修改只是创建了新的对象 常用方法 StringBuilder类 目的:解决String类频繁创建对象的问题 常用方法 特点:非线 ...

  7. bzoj5016 & loj2254 [Snoi2017]一个简单的询问 莫队

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5016 https://loj.ac/problem/2254 题解 原式是这样的 \[ \su ...

  8. bzoj5118 Fib数列2 二次剩余+矩阵快速幂

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5118 题解 这个题一看就是不可做的样子. 求斐波那契数列的第 \(n\) 项,\(n \leq ...

  9. thinkphp 数据库连接报错 SQLSTATE[HY000] [2002] No such file or directory

    https://blog.csdn.net/tornge/article/details/51388233 找到mysql sokcet的路径 vim /etc/mysql/mysql.conf.d/ ...

  10. Git的配置与基本操作

    Git是一个版本控制软件,它可以让我们能够拍摄处于可行状态的项目的快照,修改项目(如实现新功能)后,如果项目不能正常运行,可以恢复到前一个可行状态. 通过使用版本控制,我们可以无忧无虑的改进项目,不用 ...