人工智能系列-Python面向对象编程

🌈个人主页:羽晨同学

💫个人格言:"成为自己未来的主人~"

面向对象编程和面向过程编程

在使用计算机语言进行代码编写时,常见的两种思路是面向对象编程和面向过程编程。

面向过程:根据业务逻辑从上到下写代码。

面向对象:将数据和函数绑定在一起,分类进行封装,每个程序员只要负责分配到自己的分类,这样能够更快速地开发程序,减少了重复代码。

封装:

在面向对象编程中有三个至关重要的思想,分别是封装,继承和多态,封装中注意的概念就是类和对象了,类和对象是两种以计算机为载体的计算机语言的合称,

  • 类:类是一个抽象概念,在现实世界中不存在。
  • 类本质上是在现实世界中具有共同特征的事物,通过提取这些共同特征形成的概念叫做类
  • 对象:对象是一个具体的概念,在现实世界中是具体存在的。
  • 抽象:将具有相同特征的对象抽取共同特征的过程叫做抽象。
  • 实例化:对象还有一个别名叫做:实例。通过类创建对象的过程叫做实例化。

继承

在现实生活中,继承一般指的是子女继承父辈的财产,在程序中,继承的概念就要简单得多了,即描述的是事物之间的所属关系,例如猫和狗属于动物,程序中便可以描述为猫和狗继承自动物。

所谓多继承,即子类有多个父类,并且具有它们的特征。

多态

在编程语言和计算机科学当中,多态是一个非常重要的概念,在Python中,多态指的是不同的对象类型可以以相同的方式进行操作。

子类型多态,当一个子类继承自一个父类,并且重写和拓展了父类的方法,我们就可以说这个子类是多态的,在运行时,子类对象可以替换父类对象。

python 复制代码
class Aniaml:
    def make_sound(self):
        return "some generic sound"
class Dog(Aniaml):
    def make_sound(self):
        return "wangwang"
class Cat(Aniaml):
    def make_sound(self):
        return "miaomiao"
def animal_sound(animal):
    print(animal.make_sound())
a=Aniaml()
d=Dog()
c=Cat()
animal_sound(a)
animal_sound(d)
animal_sound(c)

多态的优点

代码复用:可以写出更加通用的代码,这些代码可以与多种类型一起工作,

拓展性:通过多态,你可以轻易地添加新的类型,而无需修改现有的代码

可维护性:具有良好多态性的代码通常更容易理解和维护

多态是Python和许多其他面向对象编程语言中一个非常强大和有用的特性。

相关推荐
顾林海2 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱4 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽9 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码9 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱19 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵21 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663671 天前
使用 Python 从零创建 Word 文档
python
Csvn1 天前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽1 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate