Loading... 定义函数以关键字 def 开头,以空格分隔,后接易于辨识的函数名 calc_age 和圆括号 (),括号内是函数的形参 birth_year 。再次提醒,不要漏掉英文冒号(:),这个用于标示函数内部代码的起始。 例: ```python # 定义一个名为 calc_age 的函数,参数名为 birth_year,以英文冒号结尾 def calc_age(birth_year): # 注意缩进,函数体中计算 2021 - birth_year 并赋值给变量 age age = 2021 - birth_year # 返回 age return age # 传入参数 2001,并将函数的返回值打印在屏幕上 print(calc_age(2001)) ``` 接下来我们在函数体中,编写函数的执行过程,并且用 return 返回函数执行的结果。 最后我们用 print() 函数,在屏幕上打印出了 calc_age() 函数的返回值。 可能还会有些疑惑,我按照顺序编写代码也能得到一样的结果啊,写成函数甚至还多写了几行代码,为什么要用函数呢? 在编程圈内,流行着一个原则——DRY 原则(Don't repeat yourself),即“不要重复自己”。它的含义是:如果多次遇到同样的问题,就应该抽象出一个共同的解决方法,尽量避免写重复的代码。 在我们没有学过函数之前,我们计算 y = 2x + 1 可能会像下面这样写: ```python x = 1 y = 2 * x + 1 ``` 如果有多个 x 的输入,你会这样写: ```python x1 = 1 y1 = 2 * x1 + 1 x2 = 2 y2 = 2 * x2 + 1 x3 = 3 y3 = 2 * x3 + 1 ... ``` 你应该也注意到了,我们写了很多相似的重复代码。而我们学会了函数之后,就可以这样写: ```python def f(x): y = 2 * x + 1 return y y1 = f(1) y2 = f(2) y3 = f(3) ... ``` 相较于之前,我们只写了一遍计算 y 的逻辑,就可以根据不同的 x 多次计算对应的 y。 例: 我们可以看到,调用函数的时候只需要函数名、一对括号和传入的参数。 传入的参数 3 会赋值给 x,进行 2 * x + 1 的运算后,y 的值为 7 。 最后因为使用了 return,所以我们定义的 f() 函数的返回值是 7。将返回值传给变量 result,那么变量 result 的值就是 7。 ```python def f(x): y = 2 * x + 1 return y # 下一行代码调用 f 函数,并赋值给变量 result result = f(3) print(result) # 输出:7 ```  Last modification:February 22nd, 2021 at 07:17 pm © 允许规范转载 Support 如果觉得我的文章对你有用,请随意赞赏 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat