趁着课余时间学点Python(十)面向对象的理解(前奏)

趁着课余时间学点Python(十)面向对象的理解(前奏)

文章目录


前言

说起来这一篇本打算早就写的,因博主沉迷小说耽搁了

友情客串:大黄 —— 大一新生,对底层比较感兴趣,学习能力极强

趁着课余时间学点Python(十)面向对象的理解(前奏)

终于要到紧张刺激的面向对象环节了,冲冲冲


正文

编程语言有面向对象(Java,Python)和面向过程(C语言)之分,面向对象需要一些抽象的思维才行。

面向过程和面向对象有什么区别呢?

面向过程注重亲力亲为,意思也就是自己去干这件事;而面向对象更倾向于找个人给自己做事。

就拿那个老生常谈的例子来说吧——洗衣服:


面向过程

面向过程的洗衣服是:

  1. 把衣服拿到洗衣机旁边
  2. 放进去
  3. 等待
  4. 捞出来

等下一次洗衣服,你还得重复这些操作

而这就是函数式编程


面向对象

而面向对象则是:

  1. 创造一个机器人
  2. 教他如何洗衣服
    1. 把衣服拿到洗衣机旁边
    2. 放进去
    3. 等待
    4. 捞出来
  1. 让他去干活

等下一次需要洗衣服,就让机器人去干就行了

而面向对象绕不开的就是类和对象了,接着往下看吧


类和对象

看了上面的内容,应该已经对面向对象有了一定的理解吧,那么来看看什么是类和对象吧、


类是个抽象的东西,比如说人类,动物类,植物类,类是具有某些相同特征的事物的集合

那么如何定义一个属于我们的类呢?有三种方法,推荐使用第三种

# 定义一个Xxx类
class Xxx:
    代码块
class Xxx():
    代码块
class Xxx(object):
    代码

这就成了

而类需要有属性,行为(方法)等东西

而属性就是在类里面的局部变量

而行为就是定义在类里面的函数


构造方法

而每个类都有一些默认的行为(方法),比如这个构造方法__init__

每个类都默认有这个构造方法,而 构造方法里面的内容是会在实例化的时候就运行的,也就是,你实例化的时候,就会调用这个__init__构造方法。

而对象是什么呢?


对象

对象是类的实例化,拿人类来说,人是一个类,而我们每个人都是人这个类的实例化对象。

看代码:

# 定义一个人类
class 人(object):
    代码块

# 实例化对象
大黄 = 人()

很明显,大黄是人这个类的实例化对象,换句话说,大黄是个人,在这句话里,大黄就是对象,人就是


用Python代码展示洗衣服例子

虽然Python是面向对象的语言,但是他也能面向过程编程,也就是函数式编程


面向过程洗衣服

话不多说,直接上代码

# 大家好,我是大黄,我要开始洗衣服了
def 拿衣服():
    print("把衣服拿到洗衣机旁边")

def 放进去():
    print("把衣服放进洗衣机")

def 等待():
    print("等衣服洗好")

def 捞出来():
    print("把衣服捞出来")

拿衣服()
放进去()
等待()
捞出来()

运行结果:

趁着课余时间学点Python(十)面向对象的理解(前奏)


面向对象洗衣服

代码:

class Robot(object):

    def __init__(self):
        print("把衣服拿到洗衣机旁边")
        print("把衣服放进洗衣机")
        print("等衣服洗好")
        print("把衣服捞出来")

        
大黄 = Robot()

运行结果:

趁着课余时间学点Python(十)面向对象的理解(前奏)


结语

关于类的知识还有好多,今天只是让大家理解理解,以便于理解后面的知识。

兴趣是最好的老师,坚持是不变的真理。

学习不要急躁,一步一个脚印,踏踏实实的往前走。

每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。

我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!

说了这么多暂时也就够了,那么就告辞吧

趁着课余时间学点Python(十)面向对象的理解(前奏)


上一篇:[实变函数]2.1 度量空间 (metric space), $n$ 维 Euclidean 空间


下一篇:js 格式化日期 ("/Date(1400046388387)/")