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

接下来要进到关於撰写程序上的概念学习,这一部分对於接下来要撰写比较长的程序时会非常重要!这边会先简单的介绍相关的概念,让大家先有一个基础~

废话不多说!让我们开始今天的学习吧~

物件导向

首先,什麽叫做物件导向?

物件导向又可称为物件导向程序设计(object-oriented programming),其思想就是将程序内的东西都变成以物件的方式呈现,与传统的函式语言设计(functional programming)不同,在程序设计上并非将程序视为一连串的函数总和。

物件导向的程序设计大大提高程序的使用效率,并一定程度的解决了程序重复性的问题。

而在Python中,所有东西都是物件。

物件是Python当中的最小单位且具有多种形态,如:int,float,str等都是物件。

接下来让我们来理解以物件导向的方式撰写程序有怎麽样的重要特性!

物件导向的特性

物件导向的程序设计总共有以下三种特性:

  • 封装(Encapsulation)
  • 继承(Inheritance)
  • 多形(Polymorphism)

首先从封装开始。

封装最重要的就是区分程序码是否可以被外界取用。针对不可以被公开的对象我们会加上两个底线__用以识别。

再来是继承。

这个相对之下比较好懂,也就是针对部分重叠的项目可以重复使用,大幅提高程序码的使用效率。

最後是多形。

多形式一个抽象的概念,代表着透过不同的方法达成同一种目的。

这些多都是在撰写程序时体现,在构筑比较复杂的程序时上述3个特性就会很重要。若还是初学者,可以先有相关的概念,後续在和其他人讨论时才不会太迷茫。

在认识完物件导向的特性後,下一篇让我们进到它的基础构成!


参考资料:

https://sites.google.com/a/mis.nsysu.edu.tw/cheng-shi-zi-xun-wang/java-jin-jie-pian/wu-jian-dao-xiang/1-shen-me-shi-wu-jian-dao-xiang

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

https://medium.com/tsungs-blog/python-初探物件导向-59c97981c7d6


<<:  Day27 - DataPickerDialog

>>:  CSS微动画 - 有始有终!心得跟最後动画分享

Day 27 : 插件篇 06 — 建立一套完整的笔记复习流程,使用 Obsidian 插件 Spaced Repetition

前言 写了一系列 Obsidian 的基础操作、笔记方法论、插件教学,接下来分享我如何透过 Obsi...

爲什麽我的Mac运行缓慢?解决办法是什麽?

无论您拥有 iMac、MacBook、Mac mini 还是 Mac Pro,电脑在使用一段时间後都...

Azure - Day6 Azure Function

Hi~大家好,我今天想要介绍包括如下: < Azure Function > 基本介绍 ...

[VSCodeVim] Vim的思维、哲学与解决问题之道 (二)

Vim的思维、哲学与解决问题之道 (二) [系列文目录] 上篇文章 我们提到了两点使用Vim的重点原...

【设计+切版30天实作】|Day11 - [设计进阶挑战] 如何把Reviews的呈现方式改成可滚动式的卡片呢?

设计大纲 在上一篇设计「Reviews」这个区块时,有提到切版时可能会有「切不出来」的情况发生,所以...