python面向对象-15

本文介绍了Python中的面向对象编程,包括面向过程与面向对象的区别、类的定义与使用、类的三大特性(封装、继承、多态)、数据封装以及实例化。强调了面向对象编程在解决复杂问题和提高程序拓展性方面的优势,同时也提到了类的命名空间、对象交互以及私有属性的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.面向对象

  • 面向过程
  • 函数式编程
  • 面向对象

1.1面向过程

所谓过程就是我们解决问题的步骤,一步步的按照流程走,有先后之分

整个设计好比流水线,思维上比较机械化

优缺点:

  • 优点
    • 复杂的问题流程化,将问题分解简化
  • 缺点
    • 拓展性不好,

1.2面向对象

核心是对象。

正式来说

  • 对象是一个数据以及相关行为的集合
  • 面向对象是功能上指向建模对象

通过数据行为方式来描述交互对象的集合

在python中,一切皆为对象

优缺点

  • 优点
    • 解决程序的拓展性
  • 缺点
    • 就是复杂度远高于面向过程
    • 交互式解决问题,无法准确预测结果

在现实世界中,以我们为例

类就是类别、种别

对象就是特征和技能的统一体

类则是这一系列对象的特征和技能的结合

对于现实世界,先有个体(即对象),才有类别;但对于程序,必须现有类,然后才有对象

1.3面向对象编程

OPP(object oriented programming)

其实就是一种程序设计思想,OOP把对象作为程序的一个基本单元,一个对象包含了数据和操作数据的函数。

在python中,所有数据类型都可以视为对象,同时,我们也可以自定义对象

自定义的对象的数据类型就是面向对象中类(CLASS)的概念

stu1={
   
   'name':'Tom','score':90}
stu2={
   
   'name':'Jack','score':80}
stu3..........

如果是面向对象

class stu:
    def __init__(self,name,score):
        self.name=name
        self.score=score
    def find_score(self):
        print(self.name,":",self.score)
stu1=stu('Tom',99)
stu1.find_score()
  • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

  • **方法:**类中定义的函数。

  • **类变量:**类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

  • **数据成员:**类变量或者实例变量用于处理类及其实例对象的相关的数据。

  • **方法重写:**如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。

  • **局部变量:**定义在方法中的变量,只作用于当前实例的类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值