1. 函数的概念与定义
数学上的函数通常形如 y=f(x) 或者 z=g(x,y) 这样的形式,在 y=f(x) 中,f 是函数的名字,x 是函数的自变量,y 是函数的因变量;而在 z=g(x,y) 中,g 是函数名,x 和 y 是函数的自变量,z 是函数的因变量。Python 中的函数跟这个结构是一致的,每个函数都有自己的名字、自变量和因变量。我们通常把 Python 函数的自变量称为函数的参数,而因变量称为函数的返回值。
Python 中可以使用 def 关键字来定义函数,和变量一样每个函数也应该有一个漂亮的名字,命名规则跟变量的命名规则是一样的。在函数名后面的圆括号中可以设置函数的参数,也就是我们刚才说的函数的自变量,而函数执行完成后,我们会通过 return 关键字来返回函数的执行结果,这就是我们刚才说的函数的因变量。如果函数中没有 return 语句,那么函数会返回代表空值的 None。另外,函数也可以没有自变量(参数),但是函数名后面的圆括号是必须有的。一个函数要做的事情(要执行的代码),是通过代码缩进的方式放到函数定义行之后,跟之前分支和循环结构的代码块类似。
定义函数:两数减法
python
# 例如:我们定义一个实现两数减法的函数
def sub(x, y): # 定义一个函数,函数名是sub,参数是x和y
return x - y # 函数返回值是 x-y
print(sub(1, 2)) # 输出 -1
print(sub(4, 6)) # 输出 -2
▶ 运行结果:
输出
-1
-2
函数定义时设置的参数,叫做形式参数,简称形参,函数在实际使用时传入的参数,叫做实际参数,简称实参。函数也可以没有参数,也可以没有返回值。
无参数、无返回值的函数
python
# 例如,我们定义一个函数用来输出一个数字序列 1, 2, ..., 9
def list1(): # 定义一个无参数的函数
for i in range(10):
print(f" {i} ", end="")
print()
# 没有 return,但不代表这个函数没有返回值,返回值默认是 None
list1() # 输出数字序列
print(list1()) # 输出 None
▶ 运行结果:
输出
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
None