Python 编程

函数:给代码打包

10 分钟

函数是把一段代码装进盒子:同样几行代码要用十次,抄十遍?不——装进函数,起个名字,用的时候喊名字:

def square(x):
    return x * x
print(square(5))

def 定义,return 交还结果。square(5) 得到 25,square(9) 得到 81——喊一次算一次。

输入和输出:括号里的是「原料」(参数),return 的是「成品」(返回值)。函数像厨房里的料理机:丢进苹果,出来苹果汁——你只关心放进去什么、拿出来什么,不用管里面怎么转。

为什么这对读 d2l 至关重要:《动手学深度学习》里每个模型都是一个函数——喂进数据,吐出预测。整本书的代码风格就是「小函数搭大函数」:数据加载是一个函数、模型是一个函数、训练循环再把它们串起来。看懂函数,就看懂了那本书一半的骨架。

默认参数很好用:def greet(name, word='你好'),调用时可以不写第二个参数,自动用 '你好'——d2l 代码里满是这样的写法。

常见误区:忘记 return。不写 return,函数算完结果就丢了,拿到的是 None——初学时一半的「为什么是 None」都源于此。

练一练:写一个函数 bmi(w, h),返回 w / h ** 2(体重千克除以身高米的平方),用它算全家人的 BMI。

小纸条

写一个 bmi 函数并计算全家人的 BMI

登录 后可看答案