2023-04-24
目录
Python 函数简介
定义函数
调用函数
参数与返回值
默认参数与可变参数
Lambda 函数
实际示例与代码片段
- Python 函数简介
函数是 Python 中的一个重要组成部分。它们允许我们将一组操作封装在一个代码块中,从而实现代码的复用。函数有助于提高代码的可读性和可维护性。
- 定义函数
定义函数使用 def 关键字,后跟函数名称和圆括号。圆括号中可以包含函数的参数。函数代码块以冒号和缩进开始。
python
def function_name(parameters):
# 函数体
# ...
- 调用函数
调用函数只需使用函数名称后跟圆括号,并在圆括号中传递实际参数。
python
result = function_name(arguments)
- 参数与返回值
函数可以接受参数,以便在函数内部使用它们。函数还可以返回一个值,这可以通过 return 语句实现。
python
def add(a, b):
return a + b
result = add(3, 4)
print(result) # 输出:7
- 默认参数与可变参数
函数可以具有默认参数值,这样在调用函数时,如果未提供参数值,则使用默认值。可变参数允许在函数调用时传递任意数量的参数。
python
def greet(name, greeting='Hello'):
return greeting + ', ' + name
print(greet('Alice')) # 输出:Hello, Alice
print(greet('Bob', 'Hi')) # 输出:Hi, Bob
def sum_numbers(*numbers):
return sum(numbers)
print(sum_numbers(1, 2, 3, 4, 5)) # 输出:15
- Lambda 函数
Lambda 函数是一种简洁的创建简单函数的方法。它们只能包含一个表达式,并且不能包含复杂的代码结构。
python
multiply = lambda x, y: x * y
result = multiply(3, 4)
print(result) # 输出:12
- 实际示例与代码片段
下面是一个简单的示例,演示如何使用函数处理列表中的数字。
python
def square(x):
return x ** 2
def cube(x):
return x ** 3
def process_list(numbers, func):
return [func(x) for x in numbers]
numbers = [1, 2, 3, 4, 5]
squared_numbers = process_list(numbers, square)
print(squared_numbers) # 输出:[1, 4, 9, 16, 25]
cubed_numbers = process_list(numbers, cube)
print(cubed_numbers) # 输出:[1, 8, 27, 64, 125]
笔记:Python 函数的定义与调用
关键概念
函数是一种封装操作的方法,可以提高代码的可读性和可维护性。
使用 def 关键字定义函数。
函数可以接受参数,并返回值。
函数可以具有默认参数值和可变参数。
Lambda 函数用于创建简单的单行函数。
练习题
编写一个函数,接受两个数字作为参数,并返回它们的和。
python
def add(a, b):
return a + b
编写一个函数,接受一个数字作为参数,返回该数字的平方。
python
def square(x):
return x ** 2
编写一个函数,接受一个字符串作为参数,返回该字符串的长度。
python
def string_length(s):
return len(s)
编写一个函数,接受一个列表作为参数,返回列表中的最大值。
python
def find_max(lst):
return max(lst)
编写一个函数,接受一个整数 n 作为参数,返回斐波那契数列的第 n 项。
python
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n - 1) + fibonacci(n - 2)
编写一个函数,接受一个列表作为参数,返回列表中元素的平均值。
python
def average(lst):
return sum(lst) / len(lst)
编写一个函数,接受一个字符串和一个整数 n 作为参数,返回该字符串重复 n 次的结果。
python
def repeat_string(s, n):
return s * n
编写一个具有默认参数的函数,接受一个整数 n 和一个布尔值 square 作为参数。如果 square 为 True,返回 n 的平方;否则返回 n 的立方。square 的默认值为 True。
python
def power(n, square=True):
return n ** 2 if square else n ** 3
编写一个函数,接受任意数量的数字作为参数,返回它们的乘积。
python
def multiply(*numbers):
result = 1
for number in numbers:
result *= number
return result
编写一个 lambda 函数,接受两个数字作为参数,并返回它们的乘积。
python
multiply = lambda x, y: x * y
以上是关于 Python 函数定义与调用的一小时教程及笔记。学习这些概念将帮助您编写更加优雅、可读的 Python 代码。