Python3 函数学习笔记

函数是一段可重复使用的代码块,它接受输入、执行指定操作并返回结果。在 Python3 中,函数定义的语法如下:

pythonCopy Code
def function_name(parameters): """docstring""" statement(s)

其中,function_name 是函数的名称,parameters 是函数的参数列表,docstring 是函数的文档字符串,描述了函数的作用和调用方法,statement(s) 是函数的主体部分,包含了实现函数功能的语句。

定义函数

下面是一个简单的 Python3 函数示例,用于计算两个数的和:

pythonCopy Code
def add_numbers(x, y): """ 计算两个数的和 :param x: 第一个数 :param y: 第二个数 :return: 两个数的和 """ return x + y

上述函数中,add_numbers 是函数的名称,xy 是函数的参数,""" 计算两个数的和 """ 是函数的文档字符串,return x + y 是该函数的主体部分,用于计算并返回两个数的和。

调用函数

定义好函数后,就可以通过函数名加参数的方式调用该函数。例如,调用上述 add_numbers() 函数可以使用以下代码:

pythonCopy Code
# 调用 add_numbers() 函数 sum = add_numbers(5, 6) # 输出结果 print("5 + 6 =", sum)

输出结果为:5 + 6 = 11

默认参数值

Python3 允许在函数定义时为参数设置默认值。如果调用函数时未给出对应的参数,则使用默认值。例如:

pythonCopy Code
def print_info(name, age=18): """ 打印人员信息 :param name: 姓名 :param age: 年龄(默认值为 18) """ print("姓名:", name) print("年龄:", age) # 调用 print_info() 函数 print_info("张三") print_info("李四", 20)

输出结果为:

Copy Code
姓名: 张三 年龄: 18 姓名: 李四 年龄: 20

可变参数

Python3 中,允许函数接受可变数量的参数。使用 *args 可以传递任意数量的非关键字参数,而使用 **kwargs 可以传递任意数量的关键字参数。例如:

pythonCopy Code
def print_numbers(*numbers): """ 打印任意数量的数字 :param numbers: 数字列表 """ for number in numbers: print(number) # 调用 print_numbers() 函数 print_numbers(1, 2, 3, 4, 5)

输出结果为:

Copy Code
1 2 3 4 5

匿名函数

在 Python3 中,可以使用 lambda 关键字定义匿名函数,也称为 lambda 函数。这些函数通常用于一次性的任务,不需要定义一个完整的函数。例如:

pythonCopy Code
# 定义一个匿名函数,实现两个数相乘 multiply = lambda x, y : x * y # 调用 multiply() 函数 product = multiply(4, 5) # 输出结果 print("4 * 5 =", product)

输出结果为:4 * 5 = 20

实例

下面是一个使用以上所述 Python3 函数知识的实例,用于计算并打印 Fibonacci 数列中前 n 个数:

pythonCopy Code
def fibonacci(n): """ 生成指定数量的 Fibonacci 数列 :param n: 数列长度 """ fib_list = [] a, b = 0, 1 for i in range(n): fib_list.append(a) a, b = b, a + b return fib_list # 调用 fibonacci() 函数 n = 10 fib_sequence = fibonacci(n) # 输出结果 print("Fibonacci 数列中前 %d 个数:" % n) for number in fib_sequence: print(number)

输出结果为:

Copy Code
Fibonacci 数列中前 10 个数: 0 1 1 2 3 5 8 13 21 34