Python面向对象的简单理解

举报
布小禅 发表于 2021/07/22 18:25:22 2021/07/22
【摘要】 @[TOC] 前言说起来这一篇本打算早就写的,因博主沉迷小说耽搁了友情客串:大黄 —— 大一新生,对底层比较感兴趣,学习能力极强终于要到紧张刺激的面向对象环节了,冲冲冲 正文编程语言有面向对象(Java,Python)和面向过程(C语言)之分,面向对象需要一些抽象的思维才行。面向过程和面向对象有什么区别呢?面向过程注重亲力亲为,意思也就是自己去干这件事;而面向对象更倾向于找个人给自己做事。就...


@[TOC]

前言

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

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

在这里插入图片描述

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

正文

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

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

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

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

面向过程

面向过程的洗衣服是:

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

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

而这就是函数式编程

面向对象

而面向对象则是:

  1. 创造一个机器人

  2. 教他如何洗衣服

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

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

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

类和对象

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

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

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

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

这就成了

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

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

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

构造方法

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

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

而对象是什么呢?

对象

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

看代码:

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

# 实例化对象
大黄 =()

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

用Python代码展示洗衣服例子

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

面向过程洗衣服

话不多说,直接上代码

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

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

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

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

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

运行结果:

在这里插入图片描述

面向对象洗衣服

代码:

class Robot(object):

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

        
大黄 = Robot()

运行结果:

结语

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

兴趣是最好的老师,坚持是不变的真理。
学习不要急躁,一步一个脚印,踏踏实实的往前走。
每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。

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

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

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。