1. 函数的概念与定义

数学上的函数通常形如 y=f(x) 或者 z=g(x,y) 这样的形式,在 y=f(x) 中,f 是函数的名字,x 是函数的自变量,y 是函数的因变量;而在 z=g(x,y) 中,g 是函数名,xy 是函数的自变量,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