Python官方对于函数的解释是:函数是一种仅在调用时运行的代码块,您可以将数据(称为参数)传递到函数中,函数可以把数据作为结果返回。
为什么使用函数
举个例子,我们要求一个数字序列中的最大值:
当然,这里先构建一个序列(这里以列表为例)
from random import randint
lst = [randint(10, 99) for _ in range(1000)]
然后我们遍历列表求最大值
maxnum = 0
for data in lst:
if data > maxnum:
maxnum = data
print(maxnum)
问题来了,如果每次求序列的最大值,我们都要写类似上面的for、if语句吗?
当然不用,我们将这段代码封装成一段代码块。使用时,直接调用函数名即可。
这样,当我们需要返回一个数字序列最大值时,直接调用函数名即可。
不用重复制作“轮子”(内置函数)
这个标题是Python编程的精髓之一,上面的例子,Python为我们提供了更好的解决方案—内置函数。
简单来讲,内置函数就是Python为我们提供的一些拿来就用的方法。我们可以在Python控制台中输入“__builtins__”来查看Python为我们提供的内置函数、异常等。
前面我们也介绍了不少Python内置函数的使用:
map函数的用法python
Python len()函数的使用方法
Python中round函数的用法
python中input函数的用法
上面讲的这个返回数字序列最大值的案例,其实内置函数为我们提供了解决案例。
max(seq)
我们不用重复制作“轮子”了,直接使用max()函数,将序列作为参数传递即可。
这个函数会自动为我们返回序列的最大值。而且,运行速度也比我们自定义的函数要快。
函数的自定义与内置函数
从上面知道,将常用的代码以固定的格式封装(包装)成一个独立的代码块,只要知道这个代码块的名字就可以重复使用它,这个代码块称之为函数。
Python内置的函数就是一些已经写好了的,可以实现某一个固定功能的代码块,我们使用时直接调用名字,传入正确的参数即可。
不仅如此,我们还可以自定义函数:定义一个函数以关键字def开头,还得给函数取个望文知意、符合Python规范的名字。然最后,根据Python语法要求,将函数要实现的功能写出来(在日常编程中,我们往往在未实现的函数或者方法中使用pass代替其功能)。
def function_name(param....): pass
我们之前的这个求最大值的功能定义成函数就像下面这样。
一个简单的函数 ,结构如上图所示。
使用函数的好处
使用函数有很多好处
一次编写、多次调用,一定程度上节省了代码量函数实际上一段独立的代码块,代码块中的每个变量有自己的空间和生命周期,使得Python编程自由度更高当函数出现错误时,我们可以直接屏蔽该函数运行,而不至于影响其它代码。
函数中代码,不调用就不会执行。我们通常所说的模块,简单来讲就是一堆函数的集合。这样做的好处是,扩展功能的同时,不用担心运行速度问题。好了,今天的内容就到这里了,喜欢Python编程的小伙伴关注我,后续推出更加精彩的内容。
想了解更多精彩内容,快来关注python高手养成