面向对象和面向过程

Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向对象的基本功能,例如:继承、多态、封装等。

Python支持面向过程、面向对象、函数式编程等多种编程方式。而Java编程语言支持面向对象的编程方式,C语言支持面向过程的编程方式、C++是支持面向对象的编程方式。

面向对象简介

面向对象(Object oriented Programming,简称OOP)编程的思想主要是针对大型软件设计而来的;它使得程序的扩展性更强、可读性更好;它将数据和操作数据相关的方法封装到对象中,其组织代码和数据的方式更接近人的思维。

在完成需求的时候,首先思考“怎么设计这个事务”,举个栗子:要制造一辆车,我们会思考“车是如何设计的”,会将车分为“轮胎、玻璃、车壳、座椅、发动机”等不同的部分,最后在对制造出来的各个零部件进行组装就可以制造一辆车。

面向过程简介

面向过程编程(Procedural Programming)是编程语言中最基础和最早的一种编程范式。面向过程适合简单、不需要协作的事务,重点关注如何运行。面向过程编程是一种以过程为中心的编程方法,将程序分解成一个个独立的子过程(Procedure),通过这些过程的调用和执行来完成任务。它注重问题的分析和解决过程,强调步骤的流程性,逐步求解问题。

在完成需求的时候,首先思考“怎么按步骤实现”,举个栗子:把大象装到冰箱分几步

  1. 先打开冰箱
  2. 把大象装进冰箱
  3. 关闭冰箱

但是这种编程思想并不适合复杂的设计任务,如:如何制造一辆车,在思考的时候可以发现利用面向过程是很难像上面一样分出1、2、3等步骤来完成。 

面向对象和面向过程思想

面向过程和面向对象都是对软件分析、设计和开发的一种思想,它指导着我们以不同的方式去分析、设计和开发软件。面向对象和面向过程是相辅助想成的,不能割裂开来思考。

  • 面向对象是一种“设计者思维”,可以帮助我们从宏观上把握,从整体上分析整个系统。
  • 面向过程是一种“执行者思维”,即具体的实现(微观操作上)仍然需要面向过程的思想来解决。

理解Python中的对象

对象的组成

  • 标识:用来唯一标识对象,通常对应于对象在计算机内存中的地址
  • 类型:存储的“数据”的类型
  • 值:表示对象所存储的数据的信息

在下面的例子中,分别使用内置函数id()、type()、print()来返回对象的标识、类型、值

变量实际上存储的是对象的标识符(即地址),如a存储的地址是140715963914968,b存储的地址是1982033548976,在使用该变量时,实际上是找到对象的地址。因此,变量也称为对象的引用。 实际上,变量位于栈内存中,对象位于堆内存中。

对象的本质

一个内存块,拥有特定的值,支持特定类型的相关操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/352693.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读Rolling-Unet,卷积结合MLP的图像分割模型

这篇论文提出了一种新的医学图像分割网络Rolling-Unet,目的是在不用Transformer的前提下,能同时有效提取局部特征和长距离依赖性,从而在性能和计算成本之间找到良好的平衡点。 论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/2…

leetcode LRU 缓存

leetcode: LRU 缓存 LRU 全称为 Least Recently Used,最近最少使用,常常用于缓存机制,比如 cpu 的 cache 缓存,使用了 LRU 算法。LRU 用于缓存机制时,关键的是当缓存满的时候有新数据需要加载到缓存的,这个…

streamlit markdown里支持latex公式显示

参考: https://docs.streamlit.io/develop/api-reference/write-magic/st.write https://discuss.streamlit.io/t/streamlit-markdown-a-streaming-markdown-component-with-latex-mermaid-table-code-support/72187 也有独立支持的st.latex 接口单独显示公司&…

Python 引入中文py文件

目录 背景 思路 importlib介绍 使用方法 1.导入内置库 importlib.util 2.创建模块规格对象 spec importlib.util.spec_from_file_location("example_module", "example.py") 3.创建模块对象 module importlib.util.module_from_spec(spec) …

远程工作岗位机会

电鸭:​​​​​​https://eleduck.com/?sortnew电鸭社区是具有8年历史的远程工作招聘社区,也是远程办公互联网工作者们的聚集地。在社区,我们进行有价值的话题讨论,也分享远程、外包、零活、兼职、驻场等非主流工作机会。「只工…

从客户端WebAPI视角下解读前端学习

API 应用程序接口(API,Application Programming Interface)是基于编程语言构建的结构,使开发人员更容易地创建复杂的功能。它们抽象了复杂的代码,并提供一些简单的接口规则直接使用。 JavaScript VS 客户端 API VS 客…

麒麟Kylin | 操作系统的安装与管理

以下所使用的环境为:VMware Workstation 17 Pro、Kylin-Server-10-SP2-x86-Release-Build09-20210524 一、创建虚拟机 在VMware主机单击【创建新的虚拟机】 **在新建虚拟机向导中选择【自定义】,然后点击【下一步】 ** 保持默认选项,然后…

elasticsearch hanlp插件远程词典配置

elasticsearch hanlp插件远程词典配置 背景远程词典配置新增远程词典文件修改hanlp-remote.xml自动加载词典 远程词典测试 背景 在使用elasticsearch的过程中,总会遇到与分词相关的需求,这里将针对常用的elasticsearch hanlp(后面统称为 es …

SpringBoot三层架构

目录 一、传统方式 二、三层架构 三、代码拆分 1、dao层 2、service层 3、control层 四、运行结果 一、传统方式 上述代码存在一定的弊端,在进行软件设计和软件开发中提倡单一责任原则,使代码的可读性更强,复杂性更低,可扩展性…

毕业答辩PPT:如何在短时间内高效准备?

提起PPT,大家的第一反应就是痛苦。经常接触PPT的学生党和打工人,光看到这3个字母,就已经开始头痛了: 1、PPT内容框架与文案挑战重重,任务艰巨,耗费大量精力。 2、PPT的排版技能要求高,并非易事…

R语言统计分析——数据集概念和数据结构

参考资料:R语言实战.第2版 1、数据集的概念 数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量。 不同行业对于数据集的行和列叫法不同。统计学称为观测(observation)和变量(variable&#xff…

mysql数据库中触发器的使用

一、修改分隔符号 delimiter $$或者是//或者~~都行 二、创建触发器函数名称 create trigger 函数名 三、什么样的操作出发,操作那个表 after:.....之后触发 befor:.....之前触发 insert: 插入触发 update:修改被触发 d…

什么是隐马尔可夫模型?

文章目录 一、说明二、玩具HMM:5′拼接位点识别三、那么,隐藏了什么?四、查找最佳状态路径五、超越最佳得分对齐六、制作更逼真的模型七、收获 关键词:hidden markov model 一、说明 被称为隐马尔可夫模型的统计模型是计算生物学…

gridview自带编辑功能如何判断用户修改的值的合法性

在使用GridView的编辑功能更新值时,确保输入的值合法性是十分重要的。为了实现这一点,你可以在GridView的RowUpdating事件中加入代码来检查用户输入的值。如果发现输入的值不合法,你可以取消更新操作并向用户显示错误消息。下面是如何实现的步…

05眼动识别软件详情2波形优化-滤波

对应视频链接点击直达 01项目点击下载,可直接运行(含数据库) 05眼动识别软件详情2 对应视频链接点击直达期望的数据展示数据波形对比如何实现几种常用滤波介绍维纳滤波巴特沃斯滤波器中值滤波排序滤波 推荐 结语其他以下是废话 原始数据的波…

CorelDRAW Graphics Suite下载2024最新版-CorelDRAW2024详细安装步骤

CorelDRAW​​ Graphics Suite官方版是款很多用户在工作中都会使用的矢量图形设计工具。CorelDRAW Graphics Suite正式版采用量身定制的界面和无与伦比的定制功能,畅享无缝设计经验。并且CorelDRAW Graphics Suite还可以广泛应用于商标设计、标志制作、模型绘制、插…

华为手环9省电设置

1、 手环开启熄屏显示续航约3天,原因为屏幕持续常亮显示;如不需要可通过手环“设置->表盘->熄屏显示”路径进行关闭; 2、 手环具备后台健康自动检测功能,您可根据需要选择是否使用或关闭: (1&#x…

AI发展面临的问题? —— AI对创造的重新定义

一、AI的问题描述 AI与数据安全问题:随着AI技术的发展和应用,数据安全问题日益突出。AI模型训练依赖于大量数据,而这些数据中可能包含个人隐私、商业秘密等敏感信息。如果数据在采集、存储、使用过程中处理不当,可能导致数据泄露或…

大数据的力量:推动战略决策和业务转型

在当前全球化的时代背景下,国际间的联系日益紧密,世界变得更加互联互通。面对各种危机,数据驱动决策和分析显得愈发重要。从医学研究到市场趋势分析,大数据技术在各个领域发挥着关键作用,推动着一场深刻的变革浪潮。 大…

Unity API学习之资源的动态加载

资源的动态加载 在实际游戏开发的更新换代中&#xff0c;随着开发的软件不断更新&#xff0c;我们在脚本中需要拖拽赋值的变量会变空&#xff0c;而要想重新拖拽又太花费时间&#xff0c;因此我们就需要用到Resources.Load<文件类型>("文件名")函数来在一开始…