python基础19 -------面向对象终结篇(介绍python对象中各种内置命令)
一、isinstance()和issubclass()命令
1、isinstance(对象,类型)
用来判定该对象是不是此类型或者说是该对象是不是此类的对象,返回结果为True和False,如图所示。

注:在python3中类和类型做了统一,都叫做类。
2、issubclass(对象(子类),对象(父类))
用来判定该对象是不是该父类的子类,返回的结果为True或False,如图所示。

二、反射
1、什么是反射?
反射就相当于程序能检测,访问和修改他本身状态和行为的一种能力,相当于自省。
2、python面向对象中的反射是通过字符串的形式操作对象的相关属性。因为python中一切事物都是对象,所以都可以使用反射。
3、类和对象中的反射(自省)。
3.1hasattr(object,name)
用来判断该类或对象中是否有name这个属性,返回的结果为True或者是False。

3.2getattr(object,name,none)
用来获取该类或对像的name属性,如果有返回正确结果,没有则报错。

3.3setattr(object,属性名,属性值)
用来添加该类或对象的属性。

4.3defattr(object,name)
用来删除该类或对象的属性。

4.5、以上四个反射的方法传入的值都是字符串的形式,就相对与操作类或对象所对应的字典的key和value。
其好处如下图:

4.6反射的好处:实现可插拔机制和动态导入模块。
三、__str__内置函数
1、该内置函数的主要目的是改变对象的显示。
2、示例:

注释:不加__str__,执行print(egon)时按照正常方式显示为绑定方法,加上__srt__后就会显示为__str__内指定的内容了。四、描述符。
1、__del__:当该对象被删除时执行此函数内的操作。
2、eg:

注释:对象被删除的方式有两种,一种是手动删除后执行__del__函数,另一种是读取完该对象时执行__del__函数。
四、__getitem__,__setitem__,__delitem__内置函数
1、该内置函数将对象访问属性的形式变为字典访问属性的形式。
2、如下:

python基础19 -------面向对象终结篇(介绍python对象中各种内置命令)的更多相关文章
- Python成长之路第二篇(1)_数据类型内置函数用法
数据类型内置函数用法int 关于内置方法是非常的多这里呢做了一下总结 (1)__abs__(...)返回x的绝对值 #返回x的绝对值!!!都是双下划线 x.__abs__() <==> a ...
- python基础-4 函数参数引用、lambda 匿名函数、内置函数、处理文件
上节课总结 1.三元运算 name=“name1”if 条件 else “name2” 2.深浅拷贝 数字.字符串 深浅,都一样 2.其他 浅拷贝:只拷贝第一层 深拷贝:不拷贝最后一层 3.set集合 ...
- 【python基础语法】OS模块处理文件绝对路径,内置的异常类型、捕获、处理(第9天课堂笔记)
import os """ 通过文件的路径去打开文件 相对路径:相对当前的工作路径去定位文件位置 .:代表当前路径 ..:代表上一级路径(父级路径) 绝对路径:相对于电脑 ...
- python基础:函数传参、全局变量、局部变量、内置函数、匿名函数、递归、os模块、time模块
---恢复内容开始--- 一.函数相关: 1.1位置参数: ef hello(name,sex,county='china'): pass #hello('hh','nv') #位置参数.默认参数 1 ...
- Python开发【第四篇】: 三大器和内置函数
内容概要 函数名 闭包 迭代器 生成器 推导式与表达式 内置函数 装饰器 初识递归 1.函数名 函数名的运用: 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量. 01. 函数名的 ...
- python基础编程: 函数示例、装饰器、模块、内置函数
目录: 函数示例 装饰器 模块 内置函数 一.函数示例: 1.为什么使用函数之模块化程序设计: 不使用模块程序设计的缺点: 1.体系结构不清晰,可主读性差: 2.可扩展性差: 3.程序冗长: 2.定义 ...
- python基础——4(数字、字符串、列表类型的内置方法介绍)
目录 一.可变与不可变类型 二.数字类型 三.字符串类型 四.列表类型 一.可变与不可变类型 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 不可变类型:值改变,id也跟着改变,证明产 ...
- (转)Python成长之路【第九篇】:Python基础之面向对象
一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...
- Python基础复习面向对象篇
目录 类与对象的概念 实例方法 实例变量 初始化方法 析构方法 常用内置方法 继承 类方法与静态方法 动态扩展类与实例 @property装饰器 概述 面向对象是当前流行的程序设计方法,其以人类习惯的 ...
随机推荐
- Nginx:HTTP过滤模块
参考资料<深入理解Nginx> HTTP过滤模块也是一种HTTP模块,与普通HTTP处理模块不同在于: 1.一个请求仅由一个HTTP处理模块处理,而可以被任意个HTTP过滤模块处理 2.普 ...
- 基于React的PC网站前端架构分析
代码地址如下:http://www.demodashi.com/demo/12252.html 本文适合对象 有过一定开发经验的初级前端工程师: 有过完整项目的开发经验,不论大小: 对node有所了解 ...
- Jmeter3.0-插件管理
本文转自推酷:http://www.tuicool.com/articles/UV7fI3V JMeter ,老牌,开源,轻量,Apache基金会的顶级项目,光是这些关键字就足以让大量用户将其纳入自己 ...
- jQuery 遍历 - eq() 和siblings() 方法
eq() 方法将匹配元素集缩减值指定 index 上的一个. 通过为 index 为 2 的 div 加入适当的类.将其变为蓝色: <!DOCTYPE html> <html> ...
- Cygwin 版本的 Curl 安装,提取,使用笔记
Cygwin 版本的 Curl 安装,提取,使用笔记 Cygwin 版本的 Curl 使其恢复 HTTPS 请求功能Cygwin 版本的 Curl 依赖的 DLL 清单提取 Cygwin 版本的 Cu ...
- keil 中的一些设置
option for target 'target 1' 中: 第3选项output: select folder for objects :此选项是选择编译时产生的以希望文件,点击选择路径,不然这些 ...
- ssh不检查server变化
嵌入式linux开发时经常需要远程登录到板上,但由于开发过程还经常会重新下载内核和文件系统,导致登录时总提示host变了,blablabla,解决方案是在.ssh/config对应的Host项下面加上 ...
- Maven项目Update Project...后JRE System Library会自动变回1.5解决办法
<build> <finalName>pay</finalName> <plugins> <plugin> <groupId>o ...
- 02 Memcache add详细介绍
一:Memcached add 命令参数 ()add key flag expire length [增] key: 键名(起一个独立的名字) flag 标志,要求为一个正整数 备注:()当Memca ...
- JavaScript提高:002:ASP.NET使用easy UI实现tab效果
近期在做ASP.NET项目中,须要实现一个tab页控件. 发现asp.net控件中没找到现成的. 一般的实现都须要js和div配合.于是就用到了easyui里面的. 使用也非常easy.将easyui ...