欢迎光临散文网 会员登陆 & 注册

【代码世界】Python笔记#5 - 面向对象的基本应用

2021-11-21 00:35 作者:艾了哈  | 我要投稿

概况

    本文介绍Python面向对象的内容, 来自 禾木AI 老师的【Python面向对象编程详解】的学习总结。

    通过一个基于员工的类来展开,涉及下列内容

  • 类与实例

  • 类方法与实例方法

  • 继承

一、定义类

定义类,通过class来定义,后面跟的是这个类名 Employee。

二、定义方法

初始化方法

- 定义初始化方法,其中**self**指代的是 该类的当前实例(instance)本身, 其余的参数为相关属性参数。

- 该方法也成为构造方法,创建实例时自动调用。在创建实例时,要输入除self以外参数,然后会将参数值赋给实例

- 这些实例变量在外部改变时,只影响实例本身,不影响其他实例。


实例方法

- 基于self的方法,为实例方法(实例就是new 出来的东西)

类变量

- 可供该类内部的方法使用,使用时加上类名或self,类方法都可以进行访问

- 类变量可在外部修改,但只影响修改的当前实例。

- 该变量可以供每个实例共享

类方法

- 带 `@` 表示这是一个装饰器,@classmethod后面的方法表示类方法

- 类变量的指示符为cls, 表示当前类

- 该类方法,也可以通过实例来进行访问

- 类方法的主要作用是用来创建类实例的

静态方法

- 静态方法不用修饰,表示不依赖任何实例或者类

- 因此静态方法用来做一些通用的工作

特殊方法重写

- 将实例内容输出为字符串而不是内存地址,用于开发调试阶段

继承

- 继承自Employee

- 继承的父子类为是的关系(is), 继承的子类之间是像的关系(like)

多继承的实现

 一点理解

 类 在我的理解就是,概况化的一个属性和功能集合,像是提取具有相似性质的事物的共同点来封装组合成一个集合。

     实例就是这个概况化概念下的一个具体事物,例如学生是一个类,张三就是学生类中的一个具体人;又如鸟是一个类,鸭子就是鸟类中的一个具体物种。

    对应的,类会有大有小,例如鸟是一个类,鸭子可以是鸟类中的子类,野鸭又是鸭子类中的又一个子类,阿黄是野鸭的一个实例(一只具体的鸭子)。由于这三个类 都有一些共通点,所以为了避免重复写一些相似的属性代码,就可以让鸭子类继承鸟类的一些属性,野鸭类继承鸭子类的属性,并进而添加属于野鸭类的独特的特性。

    规定好一个类之后,直接对这个类起作用的方法为类方法或静态方法(与具体实例无关);而对于具体事物起作用的一些方法,就是实例方法。

   以上是关于Python面向对象中的一些介绍和自己在使用中的一些心得记录,供自己查阅也分享给一同学习的朋友,如有不恰当或错误之处,欢迎留言交流,谢谢~ 

【代码世界】Python笔记#5 - 面向对象的基本应用的评论 (共 条)

分享到微博请遵守国家法律