Python中的函数和作用域
1. 函数
1.1 函数的简介
当我们在重复使用某一功能时,我们可能会写很多重复的代码,例如我们求圆的周长,当圆的直径改变时,是不是我们又要重新写一遍计算过程呢?如果涉及到很复杂的过程,而下次使用仅仅改变参数,那么我们还有必要重复这一过程吗?
这时我们可以利用函数来解决这一问题。一个功能就像黑盒一样,我们不需要知道它是怎么工作的,我们只要知道接口(输入,输出)即可使用。
例如Python
的内置函数print
我们只要知道它需要我们提供哪些参数,以及它会给我们怎样的输出即可。这就是所谓的抽象
,我们不知道工作原理,但也能使用它。所以我们可以写一个函数(黑盒),设置直径为输入,周长为输出,当函数写好后,我们只要输入直径即可,不用考虑函数内部是如何计算的,我们得到输出后,继续做我们想做的事情。
当我们想做一道菜时,有人负责洗菜,有人切菜,有人炒菜,将这些人的工作合在一起,就完成了做菜这个任务,这就是分解
的思想,我们将这个任务看成是函数,许多函数在一起完成了一件比较大的事情。
可以简单理解一块可重复使用的代码,我们称之为函数(function)
,当我们调用函数时,这个函数才会执行。
1.2 函数的特征
- 名称
- 参数 (0 或 多个)
- 有docstring (可选,但是建议有,注释的意思)
- 函数体
- 返回一些值
以下是定义一个函数简单的例子,注意函数内要有四个空格的缩进,如果没有返回值的话,会默认返回None
:
#def是用来定义函数的关键字
#is_even是函数的名称
#i是参数(参数可以是任何类型)
#三个引号括起来的是docstring
#docstring下面的语句是函数体
#return后的是返回值
def is_even