函数用于实现某种功能供其它程序调用。
1. 函数的定义
Python中用def关键字定义函数:
def printMax(a, b): if a > b: print("max is", a) else print("max is", b) printMax(3, 4) x = 5 y = 6 printMax(x, y)函数体的结束根据源代码的缩进来判定,函数中可以定义形参,但不需要类型,因为Python本身就是弱类型的。
和C++一样,Python中的函数也可以由默认参数,如fun(a, b=5),默认参数只能存在于参数列表的尾部,像fun(a=5, b)是无效的。
调用函数时,实参的顺序可以和形参不同,但需要显式声明。如定义函数def fun(a, b=1, c=2),调用方式可以为:fun(3, 7), fun(25, c=24), fun(c=50, a=100)
函数可以有返回值,用return语句实现。直接写return或者不写则默认返回值为None,可以通过print(fun())来验证。
2. 作用域
函数中的局部变量作用域从定义处开始,到函数体结束时结束。全局变量的作用域是整个源代码文件。
局部变量和全局变量重名,不会影响全局变量。由于Python中使用变量之前无需声明,所以在函数中使用全局变量需要显式声明,方法是使用global关键字。
3. 文档字符串
函数体开头用三引号包围的多行字符串为文档字符串,一般用于注释。可以通过工具提取这些注释。