一、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对象中各种内置命令)的更多相关文章

  1. Python成长之路第二篇(1)_数据类型内置函数用法

    数据类型内置函数用法int 关于内置方法是非常的多这里呢做了一下总结 (1)__abs__(...)返回x的绝对值 #返回x的绝对值!!!都是双下划线 x.__abs__() <==> a ...

  2. python基础-4 函数参数引用、lambda 匿名函数、内置函数、处理文件

    上节课总结 1.三元运算 name=“name1”if 条件 else “name2” 2.深浅拷贝 数字.字符串 深浅,都一样 2.其他 浅拷贝:只拷贝第一层 深拷贝:不拷贝最后一层 3.set集合 ...

  3. 【python基础语法】OS模块处理文件绝对路径,内置的异常类型、捕获、处理(第9天课堂笔记)

    import os """ 通过文件的路径去打开文件 相对路径:相对当前的工作路径去定位文件位置 .:代表当前路径 ..:代表上一级路径(父级路径) 绝对路径:相对于电脑 ...

  4. python基础:函数传参、全局变量、局部变量、内置函数、匿名函数、递归、os模块、time模块

    ---恢复内容开始--- 一.函数相关: 1.1位置参数: ef hello(name,sex,county='china'): pass #hello('hh','nv') #位置参数.默认参数 1 ...

  5. Python开发【第四篇】: 三大器和内置函数

    内容概要 函数名 闭包 迭代器 生成器 推导式与表达式 内置函数 装饰器 初识递归 1.函数名 函数名的运用: 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量. 01. 函数名的 ...

  6. python基础编程: 函数示例、装饰器、模块、内置函数

    目录: 函数示例 装饰器 模块 内置函数 一.函数示例: 1.为什么使用函数之模块化程序设计: 不使用模块程序设计的缺点: 1.体系结构不清晰,可主读性差: 2.可扩展性差: 3.程序冗长: 2.定义 ...

  7. python基础——4(数字、字符串、列表类型的内置方法介绍)

    目录 一.可变与不可变类型 二.数字类型 三.字符串类型 四.列表类型 一.可变与不可变类型 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 不可变类型:值改变,id也跟着改变,证明产 ...

  8. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  9. Python基础复习面向对象篇

    目录 类与对象的概念 实例方法 实例变量 初始化方法 析构方法 常用内置方法 继承 类方法与静态方法 动态扩展类与实例 @property装饰器 概述 面向对象是当前流行的程序设计方法,其以人类习惯的 ...

随机推荐

  1. DB门面,查询构建器,Eloquent ORM三者的CURD

    一.DB门面 1.insert DB::insert('insert into table(`name`) value(?)', ['test']); 2.update DB::update('upd ...

  2. Architects Must Be Hands On

     Architects Must Be Hands On John Davies A good ARCHiTECT SHould lEAd By ExAMplE. He (or she) shoul ...

  3. react-native 极光推送(jpush-react-native)

    极光推送官方支持的 React Native 插件 安装 npm install jpush-react-native --savenpm install jcore-react-native --s ...

  4. TCP/IP详解 卷一(第十三章 IGMP:Internet组管理协议)

    本章将介绍用于支持主机和路由器进行多播的Internet组管理协议(IGMP) 它让一个物理网络上的所有系统知道主机当前所在的多播组.多播路由器需要这些信息以便知道多播数据报应该向那些接口转发. 跟I ...

  5. 12个高效的VS调试技巧

    介绍 调试是软件开发周期中的一个很重要的部分,有时很有挑战性,有时候则让程序员迷惑,有时候让程序员发疯,但是.可以肯定的是,对于任何不是太那个微不足道的程序来说,调试是不可避免的.近年来,调试工具的发 ...

  6. dockerfile+ubuntu+nginx搭建web环境

    准备目录 [root@izchz ~]# mkdir /usr/local/dockerfile1 该目录下准备Dockerfile文件 FROM ubuntu MAINTAINER xbf RUN ...

  7. 实际项目中,看 ECharts 和 HighCharts 渲染性能对比,表面看衣装,本质看内功!!!

    最近做项目,使用的是echarts显示图表数据,但是数据量比较多的时候,有卡顿的情况.后来同事拿echarts和HighCharts做了对比,仅供大家参考.同时感谢同事做的工作. 一.查询1天的源数据 ...

  8. k8s集群容器监控

    硬件环境: 两台虚拟机, 10.10.20.203 部署docker.etcd.flannel.kube-apiserver.kube-controller-manager.kube-schedule ...

  9. Spring WebSocket Support官方文档+翻译

    实时更新技术能够应用在很多场景中,比如在浏览器中聊天.股票报价.状态更新.现场直播.这些需求对时间的延迟性都很敏感,但是我们可以发现他们存在这共有的共性. 标准的HTTP请求,是一次请求对应一次相应. ...

  10. mysql解压版安装和卸载

    问题1:发生系统错误 5. 解决:使用管理员身份安装即可 问题2:发生系统错误 2. 解决:cd C:\Program Files\MySQL\MySQL Server 5.6\bin 进入mysql ...