什么是函数?
还记得中学学过的圆面积公式吗?S=πr²。这个公式简单得很,给你一个半径,马上就能算出面积。
但问题来了,假如我现在要算3个圆的面积,代码可能会写成这样:
r1 = 12.34
r2 = 9.08
r3 = 73.1
s1 = 3.14 * r1 * r1
s2 = 3.14 * r2 * r2
s3 = 3.14 * r3 * r3
看出问题了吗?3.14 * x * x 这个计算重复了三遍。更要命的是,哪天老板突然说"π值不够精确,改成3.14159265359吧",你得把这三行全改一遍。要是有一百个圆呢?想想就头大。
这时候函数就派上用场了。与其每次都写 s = 3.14 * x * x,不如直接调用 s = area_of_circle(x)。函数定义一次,想用多少次都行,改起来也只需要改一个地方。
这可不是Python的专利,几乎所有编程语言都支持函数。而Python特别友好的地方在于,它不光让你自己定义函数,还内置了一大堆现成的函数,拿来就用。
抽象这回事
说到函数,就不得不提"抽象"这个词。数学里到处都是抽象。
想想看,从1加到100怎么写?1 + 2 + 3 + ... + 100?太啰嗦了。数学家早就受不了这种写法,直接发明了求和符号 ∑:
n=1∑100n
这符号厉害就厉害在——看到 ∑ 你脑子里立刻反应过来"哦,这是求和",而不用去想那一长串加法。
更绝的是,这玩意儿还能变形。比如:
n=1∑100n2+1
要是还原成加法,那得写成:
(1 × 1 + 1) + (2 × 2 + 1) + (3 × 3 + 1) + … + (100 × 100 + 1)
看到没?抽象的力量就在这里——你不用被底层的细节拖累,直接站在更高的层面思考问题。
写代码也是同样的道理。函数,就是我们在编程世界里最常用的抽象工具。它让你从繁琐的细节中脱身,专注于真正重要的逻辑。