一、函数的作用
编程大师Martin Fower先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”,要写出高品质的代码首先要解决的就是重复代码的问题。而我们就是通过调用函数来解决代码的重复问题。
二、定义函数
在Python中可以使用def关键字来定义函数,和变量一样每个函数也有一个名字,并且命名规则跟变量的命名规则是一致的。在函数名后面的圆括号中可以放置传递参数给函数的参数,这一点和数学上的函数很相似,程序中函数的参数就相当于是数学上说的函数的自变量,而函数执行完成后我们可以通过return关键字来返回一个值,这相当于数学上说的函数的因变量。
案例:求阶乘
:param num:非负整数
:return:num的阶乘
运算结果:
说明:Python的math模块中其实已经有一个factorial函数了,事实上要计算阶乘可以直接使用这个现成的函数而不用自己定义。下面例子中的某些函数其实Python中也是内置了,我们这里是为了讲解函数的定义和使用才把它们又实现了一遍,实际开发中不建议做这种低级的重复性的工作。
三、函数的参数
运行结果:
四、用模块管理函数
对于任何一种编程语言来说,给变量、函数这样的标识符起名字都是一个让人头疼的问题,因为我们会遇到命名冲突这种尴尬的情况。最简单的场景就是在同一个.py文件中定义了两个同名函数,由于Python没有函数重载的概念,那么后面的定义会覆盖之前的定义,也就意味着两个函数同名函数实际上只有一个是存在的。