千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Python程序的常见编程范型

Python程序的常见编程范型

来源:千锋教育
发布人:xqq
时间: 2023-11-06 21:03:54 1699275834

学习Python有一段时间了,期间参考了很多大神的Python文章,主要因为自己的计算机基础不是很好,学的时候有点磕磕绊绊,但是一道走来,总算觉得自己算是有点儿入门了。因此,总结一下自己的心得体会和学习过程,希望能写出一个系列文章,与众多希望自学Python的新手共享,希望能让大家少走一些弯路。

2.1编程范型:函数式和面向对象式

编写计算机程序的范型常见的有函数式和面向对象式两种,Python的实际应用中这两种范型常常是混合使用的。函数式编程范型出现的时间较早,在这种编程范型下,常常把将要反复使用的程序代码用函数封装起来,需要使用时对其进行调用。比如,下面的Python代码实现了数学中求绝对值的功能:

defmy_abs(number):#函数头格式:def函数名(参数列表):

ifnumber<0.0:return-number#返回值

else:returnnumber#返回值

这样,每当我们需要求一个数的绝对值时,只要如下调用就可以了:

f=-0.5

abs_f=my_abs(f)

print(abs)

它运行的结果是:

$0.5

从上面的例子中可见,函数式编程把函数看作一种操作(或运算),操作的步骤和方法封装在函数中,一旦确定,就不可更改,而操作中可变的部分,称作参数,以函数参数的方式传递,函数参数可以改变函数运行的结果,但是不能改变函数运行的步骤和运算的方法。可以用返回值表示函数运算的结果,这个返回值作为函数的值可以赋给别的变量。函数也可以没有返回值(这时返回值默认为Python常量None),这时它们只是对于给定的参数执行固定的操作步骤。

面向对象式编程是函数式编程之后出现的一种编程范型,可以用现实世界中的电视机作为例子进行类比。电视机作为一个抽象概念,我们都知道它是什么含义,但某个型号的电视机屏幕的大小、材质;电路板的品牌、型号;外壳的大小、材质….;如何选台、如何调节亮度、如何调节音量等细节是由该型号的电视机生产方案和模具等决定的。而一台这种型号的电视机生产出来,进入家庭以后,它正在收看什么节目、屏幕的亮度、色彩、扬声器的音量等参数由每个家庭通过操作遥控器进行设定,它们之间各不相关。当我们需要对电视生产过程设计一个程序时,这个例子中的电视机作为源头上的概念,可以作为一个基类(父类)实现:它规定了电视机都有屏幕、电路板、外壳、扬声器、遥控器、电源…。某个型号的电视机生产方案和模具,可以作为电视机基类的派生类(子类)实现,它规定了该型号电视机共有的物理特征、出厂状态以及对该型号电视机可执行的操作。通过对电视机生产方案的实施,可以将该类实例化,形成一个个对象,即一台台电视机,可以对每台电视机进行分别操作实现选台、调节亮度、调节音量等操作,电视机会记住这些状态。

从上面的例子中,我们可以看到,面向对象式编程涉及到了类和对象两个概念,它的特点是把程序所要处理的某类对象抽象出来,编写成表示一个类的代码。这个类可以含有表示状态的数据和表示操作的代码。编码时,对这个类进行实例化,形成一个具体的对象,对于这个对象,可以有自己独特的状态和操作,而根据该类实例化的对象之间的状态值和操作值可以不同。编码时,我们常用属于该对象的变量表示状态,用属于该对象的函数表示操作。可见,面向对象编程需要用到函数式编程的概念和成果。

由于面向对象式编程较为复杂,我们在本教程中只讲解函数式编程。需要知道的是,由于Python本身的特点:Python中的任何事物都是对象。所以,即使只讲函数式编程,也会涉及不少的面向对象的知识。同时,即使我们着重于讲述函数式编程,它也有足够的能力完成相当复杂的任务。

2.2一个函数式程序的例子

科学中,常常用到摄氏温度到华氏温度的转换。我们编写一个Python代码实现它:

#代码2.1摄氏温度到华氏温度的转换

#coding:utf-8#程序中使用中文需要用到这行代码

defft_from_ct(ct):#参数:ct表示摄氏温度

returnct*9.0/5+32

#摄氏温度0-100转换为华氏温度,间隔10摄氏度

print("摄氏温度华氏温度")

forctinrange(0,101,10):

print("{0:8d}--{1:6.2f}".format(ct,ft_from_ct(ct))

在这个短小的代码中,已有丰富的内容,且让我一一道来。

第1行注释,以#开头,到本行结束为止,都是注释。注释可以像第3行那样从代码的尾部开始

第2行#coding:utf-8说明程序代码使用了Unicode字符,这个东东可以让Python程序使用中文

第3行函数头,格式为def函数名(参数列表):

第4行这行有缩进,4个空格字符,Python用缩进表示程序结构,同级缩进表示同级代码。本行代码是函数ft_from_ct()的代码,表示返回计算式的结果

第6行注释

第7行输出双引号括起的字符串

第8行for循环,这是循环头,表示对range(0,101,10)中的每个取值ct进行循环操作。range(0,101,10)也是一个函数,它的运算结果为从0开始取值,步长为10,到101为止,但不包括101,即[0,10,20,30,40,50,60,70,80,100]。

第9行for循环的循环体,同样有缩进,按格式输出摄氏温度和对应的华氏温度

Python中的函数式编程模式基本上就是像上面这样了,实际应用中一般还会导入函数库和使用分支语句、循环语句,并且常常会用到分支语句、循环语句的嵌套,内置函数、库函数、自定义的函数和函数调用也会多一些,但基本结构就是如这个例子所述。

以上内容为大家介绍了Python程序的常见编程范型,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/

tags: python培训
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT