如何理解Python中的函数?内置函数和自定义函数有何区别?

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编程的小伙伴关注我,后续推出更加精彩的内容。

举报/反馈