这一篇笔记主要介绍下Python的函数功能。
我们在初高中的时候就已经接触函数(function)的概念,,比如二次函数、三角函数等,其基本形式为y=f(x),主要作用是按照某个规则对x进行计算,得到y值。记得压轴题不是数列就是函数。在程序设计中,函数的概念与数学中的概念有一点类似,但也有差别。
Python的函数是指对一段特定功能的代码语句进行封装打包,实现特定的功能。在写代码的过程中,会遇到在不同位置处使用类似的语句块。如果每次都写出这些语句,整个代码会特别冗长。将这些相同功能的语句块打包起来,形成一个功能模块,也就是函数,只需在特定位置处调用该函数即可。这样整个代码显得简洁,可读性大大增强,可实现代码的模块化设计,方便检查错误。函数的基本形式如下:
定义函数时必须使用def保留字,fuction_name是函数名,parameters是函数的参数,语句块的作用是利用这些参数,实现某一个功能,最后返回计算结果。需要注意的是,参数值和返回值不是必须的。举一个栗子,比较两个数的大小,并返回其中较大的数,
定义好函数后,就可以调用该函数,对于上述函数,使用max_value(5,7), 计算结果为7
Python中,有一类特数的函数,称为lambda函数,也就是匿名函数。它没有定义函数名,而是以lambda开头,只有一个语句,其形式如下
lambda parameters : expression
看上去比较简洁,其实是码农懒,连函数名都不愿意去定义。
另外一类特数的函数是递归函数,在该函数内部会调用函数自身,直到满足特定的条件。使用递归函数,代码会显得非常简洁,容易理解。举个例子,例如求解斐波那契数列 "1,1,2,3,5,8,13..."
而如果不使用递归的方法,其形式如下
不使用递归函数的方法,语句稍微长了一点。原则上,任何递归函数都可以写成循环形式的函数。递归函数虽然简洁明了,但是因为反复调用同一函数,其代码效率不高。
函数有点像一个黑盒子,我们只需将参数赋值好,它就会输出最后的结果。
对于一个较复杂的功能,我们可以使用多个函数,
以上是对Python函数功能的简单介绍,总而言之,函数是对某个特定功能的语句块进行打包,便于多次调用该段代码,另外函数降低了编程难度,方便查错。
这一次就不留作业了,COO表示跟不上了。。。