数据分析的好夥伴 - Python基础:物件导向(下)

前面我们有说过,在Python的世界中,万物皆物件。但物件只是这个世界的最小单位而已,接下来让我们认识其他的应用吧!

物件导向的基础认识

  • 类别(Class)

在进到物件之前,让我们来先谈谈类别。

你也许听过,所谓的类别就是物件的蓝图。也就是想像今天我们要煮某一到菜(物件),及其所需要的食谱(类别);又或者想像假如我想要做一块饼乾(物件),帮我制作饼乾的模型(类别)。

从中我们可以发现,类别就是规划物件的一个设计稿、模型,它可以帮我们定义物件的属性和方法、协助我们重复利用物件。

  • 物件(Object)

这个我们已经非常熟悉了。从开始写Python的第一个=,就是在宣告一个物件。

  • 属性(Attribute)

属性(Attribute)其实可以再划分为实体属性(Instance Attribute)与类别属性(Class Attribute)。

实体属性其实就是针对物件的描述,并透过点.的语法来建立。

每个物件的属性各自独立,因此当你修改某物件属性时,并不会影响到另一个物件。

我们同样可以针对类别来建立其属性,建立语法相同.

但需要特别注意的是,类别底下的物件将共享这个属性,因此当你修改类别属性时,底下的物件将会一起被调整。

  • 建构式(Constructor)

我们可以透过建构式来建立物件,并定义它的属性。

而这时候我们会用到这个所谓的Python 特殊方法 (special method names):__init__

__init__必须要引入第一个参数self,用以表示建立的实体,__则是宣告引入的属性为私有。

def __init__(self, length, width): #建构式
    self.length = length #实体属性
    self.width = width
  • 方法(Method)

最後是方法,方法可以很好的理解为该物件的行为,也就是我们要程序执行的事项。

和建构式一样前面有一个def来定义,也同样需有参数self

方法(Method)和函数(Function)最大的差别在於与类别和物件的联系。

函数可以单独存在且独立被呼叫,而方法则是必须依赖类别和物件来呼叫。


参考资料:

https://www.learncodewithmike.com/2020/01/python-class.html

https://iter01.com/550398.html


<<:  Day28 - TimePickerDialog

>>:  企划实现(24)

[Day2] 安装python环境

夥伴们大家好,今天要说明的是如何安装python环境,python版本很多、套件很多,那这里我使用的...

Day30 - 结语、推荐

结语 感谢铁人赛的契机,让我又完成一门课了,虽然是一门基础的课程,但是过程中依然放了不少心力,看那几...

Day09 永丰金API 查询订单

除了昨天的成立订单流程之外,还有个在处理特殊情况会用到的api, 正常情况所有的订单纪录会纪录在我们...

大脑如何精准学习 (4) 固化

在学习时,假设拥有前三项要素:注意力、主动参与、保持错误回馈。但这时候,可能还有一个问题,就是很慢、...

【D15】制作食谱:运用厨具,制作订阅的Class(py档)

前言 把手边的工具都了解一遍,像是合约、订阅等等。尤其是昨天的订阅,让我们更前一步,但是实际上这样的...