当前位置: 首页 > news >正文

Python(十)-面向过程,面向对象,类和对象

目录

面向过程

面向对象

两者的区别

面向对象的三大特性

类和对象

对象

self关键字

对象属性

类外面访问属性

类内部获取属性


面向过程

通俗的说,在解决编程问题时,我们会把需要的操作步骤都列出来,然后按照操作步骤编写代码,这就是面向过程的思想.

比如,要产生一个随机数,1)导入random模块2)产生随机数,3)输出结果

面向对象

面向对象是软件开发方法,一种编程范式。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

两者的区别

吃饭
面向过程: 买菜、洗菜、做饭菜、吃
面向对象: 点外卖 [厨师、外卖员]

-------------------------------------------------------------------------

打水
面向过程: 拿水杯、去清洗、装水、盖盖子、拿到教室
面向对象: 叫方哥给你打杯水.

------------------------------------------------------------------------

玩游戏
面向过程: [我]开机、打游戏、打、xxx、关机;  -我玩游戏
面向对象: 我叫人帮我玩游戏. [关注结果]

面向对象的三大特性

面向对象的三大特性:

(1)封装:简单地说,封装就是把对象的属性和方法放在一个整体中,并限制对属性和方法的访问操作。而这里说的整体,就是【类】。

(2)继承:通俗地说,当子类继承了父类后,子类就具有父类的属性和方法。比如,下图的关系。

(3)多态:不同类的对象对同一消息做出不同的响应。这里的发送消息,通常是指调用方法。

类和对象

类是抽象的概念,描述事物的特征

对象是具体的概念,表示实实在在存在的个体.

class 类名:
    def 方法名(self):
        代码1
        代码2
        ...
    # 其他方法...

例如,一起来完成:

(1)定义一个汽车类;

(2)让汽车类能跑起来;

(3)执行程序,观察效果。

class Car:def run(self):print("汽车能跑起来...")
# 当仅定义了后,执行程序没有效果

对象

# 创建对象的语法

对象名 = 类名()

--

# 调用方法语法

对象名.方法名()

例如,一起来完成:

(1)用对象模拟制造出一台小轿车;

(2)小轿车能跑起来;

(3)执行程序,观察效果。

class Car:def run(self):print("汽车能跑起来...")# 1.创建对象
# 对象名 = 类名()
car = Car()
# 2.调用方法
# 对象名.方法名()
car.run()   # 不需要给self传递值

self关键字

self是一个Python关键字,在面向对象中,self指向了对象本身。比如,创建了一个学生对象。

# 定义类
class Student:
    pass

# 创建对象
student = Student()

例如,一起来完成:

(1)定义一个学生类,且学生在努力学习;

(2)创建一个对象,同时输出对象名、self,了解self的含义;

(3)再到学生类中,定义一个学生睡觉的行为,并分别通过对象名、self调用方法;

# 1.定义学生类  输出self
class Student:def study(self):  # 当前的,当前的对象print("=======================")print("正在努力学习!")print("===============",self)  # =============== <__main__.Student object at 0x0000028A576D2DF0>print("=======================")# 睡觉def sleep(self):# 类内部调用   self = 当前的对象# 对象名.方法名()# self.方法名()self.study()  # 2.输出对象名
stu = Student()
print(stu)  # <__main__.Student object at 0x0000021CACD02DF0>
# 调用
stu.study()  # self = 当前的对象

对象属性

在现实生活中,属性就表示固有特征,比如:一辆小轿车的属性有轮胎数、颜色、品牌等。

仔细观察后会发现,属性可以简单理解为与生俱来的特征,比如一个人的姓名、年龄、身高、体重等都是属性。

而属性在Python面向对象中,直接使用变量来表示。

需要注意的是,一个对象通常包含两部分:方法、属性。

类外面访问属性

在类外面访问属性,分为:

(1)添加属性

(2)获取属性

# 添加属性语法

对象名.属性名 = 值

----

# 获取属性语法

对象名.属性名

例如

(1)在车类外设置品牌和颜色,和获取属性值并输出结果

class Car(object):def run(self):print(f"当前小轿车({self.color} 的 {self.brand})在公路上跑... ...")if __name__ == '__main__':c1 = Car()# 设置当前对象 属性: 设置属性c1.brand = "五菱宏光"c1.color = "银色"# 调用当前对象的 属性: 获取属性print(c1.brand)print(c1.color)# 调用方法c1.run()

类内部获取属性

# 类内部,获取属性语法

self.属性

例如

在类外部添加2个属性,在类内部定义一个show()方法获取属性信息

class Car(object):def run(self):print(f"当前小轿车({self.color} 的 {self.brand})在公路上跑... ...")def show(self):print(f"{self.color} 的 {self.brand}")# return f"{self.color} 的 {self.brand}"if __name__ == '__main__':c1 = Car()# 设置当前对象 属性: 设置属性c1.brand = "五菱宏光"c1.color = "红色"c1.show()# print(c1.show())

如果在类内部

print(f"{self.color} 的 {self.brand}")
则调用的时候

c1.show()

return f"{self.color} 的 {self.brand}"

则调用的时候

print(c1.show())


http://www.mrgr.cn/news/46234.html

相关文章:

  • 测试NCU中srcnode_gpc、srcunit_l1、srcunit_tex之间的关系
  • DevOps项目发布一体化平台构建及应用实践
  • 基于API数据的拼多多商品市场分析与改进
  • 无人机避障——4D毫米波雷达点云滤波去噪(四)
  • linux程序说明
  • 《深度学习》循环神经网络RNN 结构及原理解析
  • 数字王国里的虚拟人――技术、商业与法律解读
  • 传奇GOM引擎佩戴装备BUFF触发传奇脚本
  • 锁升级机制——Java全栈知识(49)
  • Windows安装Elasticsearch
  • 【Windows】开始菜单关键错误以及系统应用闪退问题记录
  • 广告效果测评包括哪些方面
  • 【0338】Postgres内核 XLogReader 的分配与初始化
  • 宝塔docker中如何修改应用配置文件参数
  • Python 与 Pycharm 的简易安装教程,包含Pycharm的修改
  • 容器引领者:Kubernetes集群部署
  • 字符串左旋
  • 台球助教预约小程序源码开发:技术解析与示例代码
  • C# 的动态性多态说明
  • AIP1668显示驱动3线串口共阴极10段7位或13段4位 LED驱动控制