关于类与对象的一些常用BIF(内置函数)

1、issubclass(class,classinfo)

含义:如果class是classinfo的子类,则返回True,否则返回false,用来判断子类关系

2、isinstance(objiect,classinfo)

含义:检查一个实例对象是否属于一个类,第一个参数为实例对象,第二个为类

3、hasattr(object,name)

作用:测试一个对象(object)是否具有固定的属性(name),属性必须带“ ”,表明是字符串。

4、getattr(object,name[,default])

作用:返回一个特定对象的属性的特定值(前提是该对象具有该属性),如果该对象没有这个属性,则为了提高用户的体验,可以将第三个参数default设置为“你所访问的属性不存在”,这样当不存在属性的时候就可以返回“你所访问的属性不存在”。

5、setattr(object,name,value)

作用:对对象进行属性的新定义——设置新属性

6、delattr(object,name)

作用:用来删除对象的固定属性,如果该对象没有这个属性的话,就会抛出异常

7、property(fget=none,fset=none,fdel=none.doc=none)

作用:通过属性定义属性,property() 是一个比较奇葩的BIF,它的作用把方法当作属性来访问,从而提供更加友好访问方式。

property() 返回一个可以设置属性的属性,当然如何设置属性还是需要我们人为来写代码。第一个参数是获得属性的方法名(例子中是 getx),第二个参数是设置属性的方法名(例子中是 setx),第三个参数是删除属性的方法名(例子中是 delx)。

property() 有什么作用呢?举个例子,在上边的例题中,我们为用户提供 setx 方法名来设置 _x 属性,提供 getx 方法名来获取属性。但是有一天你心血来潮,突然想对程序进行大改,可能你需要把 setx 和 getx 修改为 set_x 和 get_x,那你不得不修改用户调用的接口,这样子的体验就非常不好。

有了 property() 所有问题就迎刃而解了,因为像上边一样,我们为用户访问 _x 属性只提供了 x 属性。无论我们内部怎么改动,只需要相应的修改 property() 的参数,用户仍然只需要去操作 x 属性即可,对他们来说没有任何影响。

各个内置函数举例如下,可以促进对于它们的理解:

转载于:https://www.cnblogs.com/Yanjy-OnlyOne/p/10041951.html

python类与对象的内置函数大全(BIF)相关推荐

  1. Python学习笔记3.2-python内置函数大全

    学习python不可避免的首先要了解python的内置函数,熟悉了这些以后可以给编程带来很大的方便. 1.数学运算类 函数名 函数功能 备注 abs(x) 求绝对值 1.参数可以是整型,也可以是复数2 ...

  2. python一些常用函数_【python】常用的一些内置函数

    1.cmp cmp(A,B)函数,比较A,B的大小,如果A大于B,返回1,A小于B返回-1,A等于B返回0 print cmp(12,33) >>>-1 print cmp(&quo ...

  3. Python学习笔记(4)~Python基础练习之常用内置函数(1-10)

    Python基础练习之常用内置函数(1-10) 1.abs() 作用         求数的绝对值或者复数的模 测试demo #!/usr/bin/python3 # abs: 求绝对值 or 复数的 ...

  4. 2020最全Python内置函数大全!赶快收藏起来!

    1. abs() 语法 abs(x), 返回一个数的绝对值. 参数可以是一个整数或浮点数. 如果参数是一个复数,则返回它的模 示例 2. all() 语法 all(iterable), 如果 iter ...

  5. python基础12_匿名_内置函数

    # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, 66]def bina ...

  6. 内置对象和内置函数_内置假对象

    内置对象和内置函数 尽管模拟对象是进行单元测试的理想工具,但通过模拟框架进行模拟可能会将您的单元测试变成难以维护的混乱. 这种复杂性的根本原因是我们的对象太大. 他们有很多方法,这些方法返回其他对象, ...

  7. Python中这两个内置函数locals 和globals,你了解吗?

    这两个函数主要提供,基于字典的访问局部和全局变量的方式. 在理解这两个函数时,首先来理解一下python中的名字空间概念.Python使用叫做名字空间的 东西来记录变量的轨迹.名字空间只是一个字典,它 ...

  8. 查看python内部模块命令,内置函数,查看python已经安装的模块命令

    查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list 或者用 help('modules') 或者用 python -m ...

  9. python语言接收信息的内置函数是_Python语言接收信息的内置函数是________________...

    Python语言接收信息的内置函数是________________ 答: input() 中国大学MOOC: 铁素体稳定元素倾向于 奥氏体区,使共析点向 方移动. 答:缩小:左上: 注射剂中热原检查 ...

最新文章

  1. 《从问题到程序:用Python学编程和计算》——第2章 计算和编程初步 2.1 数值表达式和算术...
  2. [PAL编程规范]SAP HANA PAL逻辑回归预测分析Logistic Regression编程规范LOGISTICREGRESSION(模型)...
  3. beta阶段140字评论
  4. 编程之美-队列中取最大值操作问题
  5. WWF系列之----关于Host与WorkflowInstance之间的通讯
  6. json传输二进制的方案(python版)
  7. 源码免杀--反调试代码,免杀爱好者必备的利剑
  8. 深入理解 JVM Class文件格式(五)
  9. 双路服务器单路运行,单路还是双路?看需求选择_机箱电源评测-中关村在线
  10. APIView源码,Requset的源码简单分析
  11. 美媒:中国可能引领“物联网”的进步
  12. 6.高性能MySQL --- 查询性能优化(2)
  13. css 选择器的应用
  14. Failed to instantiate [org.springframework.cloud.context.properties.ConfigurationPropertiesBeans]: F
  15. 如何用C语言编辑一个万年历,如何用C语言编写一个万年历系统?
  16. 使用 matplotlib处理彩色图像
  17. DLNA」的介紹與應用
  18. android程序设计魔方矩阵,【图片】【记录】零基础用c4droid写一个3D魔方软件_c4droid吧_百度贴吧...
  19. 2022年度总结和展望2023年
  20. 2021.1.18-1.25 人工智能行业每周技术动态

热门文章

  1. asset文件夹路径 unity_Unity3D研究院之手游开发中所有特殊的文件夹
  2. 冒泡排序java代码_面试官问我插入排序和冒泡排序哪个更牛逼?
  3. 安装2000数据库的时候挂起
  4. android banner 高度,Android Banner 的简单使用步骤
  5. mfc 二进制转换成图像_图像相似度---感知哈希算法(phash)---用matlab实现
  6. 基于隐马尔可夫模型的有监督词性标注
  7. java获取request body_HttpServletRequest获取body内容(字符串/二进制)详解
  8. 一秒钟世界上会发生多少事_一秒之中会发生什么
  9. 目标检测(五)--R-CNN
  10. SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘staff_info.depart_id‘ in ‘where clause‘