Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向对象的基本功能,例如:继承、多态、封装等。
Python支持面向过程、面向对象、函数式编程等多种编程方式。而Java编程语言支持面向对象的编程方式,C语言支持面向过程的编程方式、C++是支持面向对象的编程方式。
面向对象简介
面向对象(Object oriented Programming,简称OOP)编程的思想主要是针对大型软件设计而来的;它使得程序的扩展性更强、可读性更好;它将数据和操作数据相关的方法封装到对象中,其组织代码和数据的方式更接近人的思维。
在完成需求的时候,首先思考“怎么设计这个事务”,举个栗子:要制造一辆车,我们会思考“车是如何设计的”,会将车分为“轮胎、玻璃、车壳、座椅、发动机”等不同的部分,最后在对制造出来的各个零部件进行组装就可以制造一辆车。
面向过程简介
面向过程编程(Procedural Programming)是编程语言中最基础和最早的一种编程范式。面向过程适合简单、不需要协作的事务,重点关注如何运行。面向过程编程是一种以过程为中心的编程方法,将程序分解成一个个独立的子过程(Procedure),通过这些过程的调用和执行来完成任务。它注重问题的分析和解决过程,强调步骤的流程性,逐步求解问题。
在完成需求的时候,首先思考“怎么按步骤实现”,举个栗子:把大象装到冰箱分几步
- 先打开冰箱
- 把大象装进冰箱
- 关闭冰箱
但是这种编程思想并不适合复杂的设计任务,如:如何制造一辆车,在思考的时候可以发现利用面向过程是很难像上面一样分出1、2、3等步骤来完成。
面向对象和面向过程思想
面向过程和面向对象都是对软件分析、设计和开发的一种思想,它指导着我们以不同的方式去分析、设计和开发软件。面向对象和面向过程是相辅助想成的,不能割裂开来思考。
- 面向对象是一种“设计者思维”,可以帮助我们从宏观上把握,从整体上分析整个系统。
- 面向过程是一种“执行者思维”,即具体的实现(微观操作上)仍然需要面向过程的思想来解决。
理解Python中的对象
对象的组成
- 标识:用来唯一标识对象,通常对应于对象在计算机内存中的地址
- 类型:存储的“数据”的类型
- 值:表示对象所存储的数据的信息
在下面的例子中,分别使用内置函数id()、type()、print()来返回对象的标识、类型、值
变量实际上存储的是对象的标识符(即地址),如a存储的地址是140715963914968,b存储的地址是1982033548976,在使用该变量时,实际上是找到对象的地址。因此,变量也称为对象的引用。 实际上,变量位于栈内存中,对象位于堆内存中。
对象的本质
一个内存块,拥有特定的值,支持特定类型的相关操作。