Python零基础入门篇 - 33 - 你了解编程范式吗?面向过程编程与面向对象编程的区别又是什么?(1)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!


什么是编程范式?

编程范式是计算机语言编程的一种需要编程者遵循的基本风格与规范模式。如果说每一个编程者进行的编程是在创造一个依托于计算机而存在的虚拟世界,那么编程范式就是这个虚拟世界所采用的世界观与创造世界的方法论。

常见的编程范式: 面向过程编程面向对象编程

编程范型提供了程序员对程序执行的看法:

  • 在面向过程编程中,程序员认为程序是一系列相互调用的过程或者函数;

  • 在面向对象编程中,程序员认为程序是一系列相互作用的对象;而在函数式编程中一个程序会被看作是一个无状态的函数计算的序列。

在不同的编程语言中,提倡的是不同的编程范式。在 C语言 中,使用的是面向过程编程范式,在 JAVA 语言中支持的是面向对象编程。而 Python 编程语言支持多种编程范式,所以在不同的应用场景下,程序员应选择合适的编程范式。

面向过程编程


面向过程编程是一种以过程为中心的编程思想,程序由一系列相互调用的过程组成。面向过程编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。

面向过程编程的核心是过程,就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可,再简单理解就是程序从上到下一步步执行,从头到尾的解决问题。

在这类问题中,解决问题的途径由多个步骤构成,使用函数描述每个步骤,因此使用函数对问题建模非常合适

面向过程编程不足之处就是它不适合某些种类问题的解决,例如图形化编程,在图形化编程中,客观世界由具体的对象(窗口、标签、按钮等)组成,无法自然的将函数与图形对象一一对应,因此面向过程编程不适合用于图形化编程的领域。

举个数学计算的例子:

A地点 到 B地点之间的距离是 180KM ,开车走高速的速度是每小时 60KM ,计算所花费的时间。

面向过程实现的代码示例如下:

speed = 60.0

mileage = 180.0

time = mileage / speed

print(‘共计需要花费的时间是:’, time, ‘小时’)

>>> 执行结果如下

>>> 共计需要花费的时间是: 3.0 小时


面向对象编程


区别于 面向过程 编程 ,面向对象 编程是一种以对象为中心的编程思想,程序由一系列相互作用的对象组成。面向对象编程中,程序包含各种独立而又互相调用的对象,而在面向过程编程中,将程序看作一系列函数的集合。

面向对象编程是把构成事物的整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建对象的目的不是为了完成某一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。

面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象

Python中一切皆对象,比如之前学过的变量其实也都是对象,包括整形(int)、浮点型(float)、字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。

基本概念

面向对象编程包含通过类、实例、属性和方法等核心概念:

  • 类: 可以理解是一个模板,通过它可以创建出无数个具体实例。 比如,定义一个Person类,通过它可以创建出无数个实例来代表各种不同特征的人。

  • 实例(对象): 类并不能直接使用,通过类创建出的实例(又称对象)才能使用,比如以上案例创建类对象Person。

  • 属性: 类中的所有变量称为属性。比如以上案例中类的变量有 姓名name、年龄age。

  • 方法,方法是指对象的行为。例如,存在一个对象 person,对象 person 的包括一个方法 show,通过调用方法 show 可以输出对象 person 的相关信息。

下面的代码演示了以上 4 个基本概念:

class Person:

def init(self, name, age):

self.name = name

self.age = age

def show(self):

print(‘My name is %s, I am %d years old’ % (self.name, self.age))

tom = Person(‘tom’, 10)

jerry = Person(‘jerry’, 12)

tom.show()

jerry.show()

  • 在第 1 行,定义了类 Person

  • 在第 2 行,定义了类 Person 的方法 init

  • 方法 init 设置类 Person 的属性 name 和 age

  • 在第 6 行,定义了类 Person 的方法 show,

  • 方法 show 输出类 Person 的属性 name 和 age

  • 在第 9 行,通过类 Person 创建一个实例 tom

  • 实例 tom 的属性 name 是 tom,age 是 10

  • 在第 10 行,通过类 Person 创建一个实例 jerry

  • 实例 jerry 的属性 name 是 jerry,age 是 12

  • 在第 11 行,调用类 tom 的方法 show

  • 在第 12 行,调用类 jerry 的方法 show

面向对象最重要的概念就是类和实例,要牢记类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法。

同样是上面的数学计算的例子,如何利用 面向对象编程 的编程范式来实现:

class Car(object):

speed = 0

def take_time(self, mileage):

time = mileage / self.speed

print(‘共计需要花费的时间是:’, time, ‘小时’)

car = Car()

car.speed = 60.0

car.take_time(180.0)

>>> 执行结果如下

>>> 共计需要花费的时间是: 3.0 小时

文末有福利领取哦~

👉一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。img

👉二、Python必备开发工具

img
👉三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

👉 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
img

👉五、Python练习题

检查学习结果。
img

👉六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
img

img

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值