python类与对象的内置函数大全(BIF)
关于类与对象的一些常用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 属性即可,对他们来说没有任何影响。
各个内置函数举例如下,可以促进对于它们的理解:



python类与对象的内置函数大全(BIF)的更多相关文章
- python基础12_匿名_内置函数
一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, ...
- python内置函数大全(分类)
python内置函数大全 python内建函数 最近一直在看python的document,打算在基础方面重点看一下python的keyword.Build-in Function.Build-in ...
- Python学习(八) —— 内置函数和匿名函数
一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...
- 查看python内部模块命令,内置函数,查看python已经安装的模块命令
查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list或者用 help('modules') 或者用 python -m ...
- python3内置函数大全(顺序排列)
python3内置函数大全 内置函数 (1)abs(), 绝对值或复数的模 1 print(abs(-6))#>>>>6 (2)all() 接受一个迭代器,如果迭代器的所有 ...
- python3内置函数大全
由于面试的时候有时候会问到python的几个基本内置函数,由于记不太清,就比较难受,于是呕心沥血总结了一下python3的基本内置函数 Github源码: https://github. ...
- Orace内置函数大全[转:http://www.cnblogs.com/lfx0692/articles/2395950.html]
NewProgramer Oracle SQL 内置函数大全(转) SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数;SQL> select ascii('A') A,a ...
- mysql 内置函数大全 mysql内置函数大全
mysql 内置函数大全 2013年01月15日 19:02:03 阅读数:4698 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代 ...
- python生成器对象&常见内置函数
内容概要 异常捕获(补充) for循环本质 生成器 yield 和 return优缺点 笔试题 常用内置函数 内容详细 一.异常捕获补充 try: print(name) except NameErr ...
随机推荐
- ueditor 百度编辑器 解决表格没有边框
因为项目需要,发现直接从word和excel复制粘贴以后,居然在禅道上表格没有边框了,故查了一下 这里从word,以及excel粘贴复制,都能直接有边框了,同时在编辑器里面新增表格,也能直接显示边框了 ...
- BurpSuite+SQLmap的一种另类扫描
过年之后就忙的团团转.三月开始可以轻松一些,抽空写写最近瞎折腾的东西,本文只是描述工具的一种使用方法,无技术含量.(PS:这种做法,网上也有很多教程,本文只为记录). 由于公司使用的电脑都是win10 ...
- mac最常用快捷键
本人使用的是18款512g的macbookpro<后续简称mbp>,已升级最新mojave系统. 以下是我平时记录.也是使用最多的快捷键,惠存. 1.切换拼音和字母 control ...
- 【PHP开发规范】老生常谈的编码开发规范你懂多少?
[PHP开发规范]老生常谈的编码开发规范你懂多少? 这几天看了一下阿里技术发布的一套Java开发规范<阿里巴巴Java开发手册>,里面写了阿里内部的Java开发规范标准,写的很好.这套Ja ...
- laravel 的用户认证
1.简介 Laravel 中实现用户认证非常简单.实际上,几乎所有东西都已经为你配置好了.配置文件位于config/auth.php,其中包含了用于调整认证服务行为的.文档友好的选项配置. 在底层代码 ...
- python爬虫-execjs使用
python爬虫-execjs使用 ecexjs的作用 通过python代码去执行JavaScript代码的库 execjs的安装 pip install PyExecJS execjs使用之前,得先 ...
- 在centos6.5下挂载windows共享文件夹
1.在windows下建立文件夹f:\linux,共享给win下用户username,该用户密码为passwd.该windows系统在局域网中IP为192.168.18.203 2.在centos6. ...
- C语言数组截取常见问题
这是一段数组截取的代码,函数功能是检查后面的'*'的数量,若多于指定输入数,则把多余的'*'删除 void fun( char *a,int n ) { char *p = a; while(*p) ...
- react canvas
http://engineering.flipboard.com/2015/02/mobile-web/
- mfc 私有成员
知识点 类的私有成员private 访问类的私有成员 内联函数inline 一.类的私有成员 用private定义的(变量)或者(函数)只能在本类中使用其他类不能中不能调用: 用public定义的(变 ...