Python3 函数学习笔记
函数是一段可重复使用的代码块,它接受输入、执行指定操作并返回结果。在 Python3 中,函数定义的语法如下:
pythonCopy Codedef function_name(parameters):
"""docstring"""
statement(s)
其中,function_name
是函数的名称,parameters
是函数的参数列表,docstring
是函数的文档字符串,描述了函数的作用和调用方法,statement(s)
是函数的主体部分,包含了实现函数功能的语句。
定义函数
下面是一个简单的 Python3 函数示例,用于计算两个数的和:
pythonCopy Codedef add_numbers(x, y):
"""
计算两个数的和
:param x: 第一个数
:param y: 第二个数
:return: 两个数的和
"""
return x + y
上述函数中,add_numbers
是函数的名称,x
和 y
是函数的参数,""" 计算两个数的和 """
是函数的文档字符串,return x + y
是该函数的主体部分,用于计算并返回两个数的和。
调用函数
定义好函数后,就可以通过函数名加参数的方式调用该函数。例如,调用上述 add_numbers()
函数可以使用以下代码:
pythonCopy Code# 调用 add_numbers() 函数
sum = add_numbers(5, 6)
# 输出结果
print("5 + 6 =", sum)
输出结果为:5 + 6 = 11
。
默认参数值
Python3 允许在函数定义时为参数设置默认值。如果调用函数时未给出对应的参数,则使用默认值。例如:
pythonCopy Codedef 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 Codedef print_numbers(*numbers):
"""
打印任意数量的数字
:param numbers: 数字列表
"""
for number in numbers:
print(number)
# 调用 print_numbers() 函数
print_numbers(1, 2, 3, 4, 5)
输出结果为:
Copy Code1 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 Codedef 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 CodeFibonacci 数列中前 10 个数:
0
1
1
2
3
5
8
13
21
34