![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python面向对象
文章平均质量分 95
使用一种新的编程风格来写程序
Simple子夜
实迷途其未远、觉今是而昨非
展开
-
带你了解Python面向对象 高级篇:总结了21种魔法方法,7种类或对象自带的属性
魔法方法魔法方法存在于类中,指的是在调用这个类的时候触发的方法先来介绍一下与我们封装里面提到过的property类似效果的魔法方法分别是:__setattr__和__delattr__和__getattr__,俗称:点(.)触发方法__setattr__在对象.属性=值 时自动触发,也就是更改属性值时自动触发__getattr__在对象.属性时自动触发,也就是在获取对象属性时自动触发(当属性不在对象内的时候触发执行)__delattr__在del 对象.属性时自动触发,也就是在删除对象属性时自原创 2021-01-07 20:09:00 · 1309 阅读 · 3 评论 -
带你了解Python面向对象(6)高级篇:元类
前言:既然Python中一切皆为对象,有没有想过,我们定义的类它是否也为一个对象?类本质上也是一个对象,既然类是一个对象,那么就应该有一个类来产生它。这也就是本章节讲到的主题:元类,它也可以称之为:类的类。元类元类:负责产生类的,我们学习使用元类的目的就是:控制类的产生过程,也可以控制类实例化的对象产生的过程。type元类Python中一切类都是由type产生出来的我们查看一个类的类型就可以知道。查看类型本质上就是查看目标是由哪个类产生出来的class People: pass原创 2021-01-07 19:59:16 · 1273 阅读 · 0 评论 -
带你了解Python面向对象(5)高级篇:描述符、制作一系列装饰器
描述符描述符本质就是一个新式类,在这个新式类中,至少具备了get()、set()、delete()其中一种,这也被称为:描述符协议get():调用一个属性时触发set():为一个属性赋值时触发delete():使用del删除一个属性时触发定义class An: def __get__(self, instance, owner): pass def __set__(self, instance, value): pass def原创 2020-12-31 16:58:11 · 1290 阅读 · 1 评论 -
带你了解Python面向对象(4)高级篇:类型判断、反射
目录前言:isinstanceissubclass反射hasattrgetattrsetattrdelattr补充内容:动态导入模块魔法方法setattrgetattrdelattr前言:学习完面向对象进阶篇以后,已经掌握了大部分面向对象编程的使用,那么本章节主要学习的是更高级一点的使用,通过Python提供的内置方法,达到将字符串反射到对象的效果,可以间接操作对象和类且不需要修改源码。以及掌握一些Class类中提供的魔法方法,所谓魔法方法:指的是在某种情况下自动触发,如__init__,在类名()时原创 2020-12-29 16:11:46 · 1391 阅读 · 7 评论 -
带你了解Python面向对象 (3) 进阶:多态、鸭子类型、封装、property装饰器、绑定方法与非绑定方法
本篇结束面向对象的进阶内容:两个概念内容:多态、鸭子类型多态与多态性继承至同一个类事物,但每个类形态都不同称之为:多态class Animal(object): # 动物类 def speak(self): print('叫')class Dog(Animal): # 动物形态之一:狗 def speak(self): print('汪汪叫!')class Cat(Animal): # 动物形态之一:猫 def speak(self): print('喵喵叫!')# 属原创 2020-12-28 16:40:16 · 1254 阅读 · 1 评论 -
带你了解Python面向对象(2) 进阶篇:继承、多继承、新式类与经典类、MRO、派生
前言:在我们了解面向对象基础以后,需要进一步拓展这方面的内容,接着开始了Python面向对象的进阶部分,我们可以使用更少的代码,完成更多的事情。这一篇主要介绍Python3中类的3大特点:继承、封装、多态,其中之一:继承类的继承首先来说一下什么继承:1、继承是一种新建类的方式,新建类称为:子类(派生),被继承的类称为:父类(基类)2、继承的特性:子类会遗传父类的属性和方法3、继承是类与类之间的关系使用继承的好处是什么?减少代码冗余,避免了多个了定义多个类的属性或方法相同通过实例演示未继原创 2020-12-28 08:32:35 · 1269 阅读 · 0 评论 -
带你了解Python面向对象 (1) 基础篇:类与对象、初始化对象属性
前言:我们编程可分为两种编程思想:面向过程:将程序进行流程化,即把程序的步骤整理清楚再一步步实现,但是拓展性差,程序的流程在写程序的时候已经决定好,后期更改程序会牵扯到有关联性的一些功能,理解:面向过程关注的是解决问题需要哪些步骤面向对象:将程序的变量以及功能整合到一起成为:对象,程序的流程是在对象生成后决定的,后期拓展程序只需要更改对象即可,理解:解决问题需要哪些对象但并不是说开发程序一定要用面向对象编程思想来进行开发,选取对我们更有优势的方式才是最好的!那么本篇就来介绍一下面向对象编程~原创 2020-12-31 11:14:54 · 1418 阅读 · 1 评论