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

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

image.png

文章目录


前言

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

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

image.png

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


正文

编程语言有面向对象(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("把衣服捞出来")
拿衣服()
放进去()
等待()
捞出来()

运行结果:

image.png


面向对象洗衣服

代码:

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

运行结果:

image.png


结语

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

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

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

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

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

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

image.png


目录
相关文章
|
1月前
|
Java 程序员 C++
Python 面向对象详解!
本文详细介绍了Python中的面向对象编程(OOP),包括类、对象、继承、封装、多态和抽象等核心概念。通过具体示例,解释了如何使用类定义对象的属性和方法,以及如何通过继承实现代码重用。文章还探讨了封装和多态的重要性,并介绍了私有属性和抽象类的使用方法。最后,总结了OOP的四大支柱:封装、抽象、继承和多态,强调了这些概念在Python编程中的应用。适合Java程序员扩展Python编程知识。
66 2
|
24天前
|
Python
Python面向对象(2)
【10月更文挑战第14天】
Python面向对象(2)
|
3月前
|
Python
你真的会面向对象吗!解密Python“魔术方法”
你真的会面向对象吗!解密Python“魔术方法”
38 0
|
25天前
|
设计模式 程序员 C语言
Python面向对象
【10月更文挑战第13天】
Python面向对象
|
5月前
|
Python
Python进阶第一篇(Python的面向对象)
Python进阶第一篇(Python的面向对象)
|
6月前
|
存储 算法 安全
Python编程实验六:面向对象应用
Python编程实验六:面向对象应用
104 1
|
2月前
|
前端开发 Python
Python编程的面向对象有哪些(二)
Python编程的面向对象(二)—类的多态
|
2月前
|
IDE Java 开发工具
Python类与面向对象
Python类与面向对象
|
1月前
|
Python
Python编程-关于面向对象的一些
Python编程-关于面向对象的一些
|
6月前
|
人工智能 自然语言处理 开发者
Python基础教程——面向对象
Python基础教程——面向对象