python函数期末复习知识点
时间: 2025-01-02 22:41:48 浏览: 12
### Python 函数期末考试复习要点
#### 定义与调用
函数定义使用 `def` 关键字,后面跟上函数名和参数列表。函数体由冒号引导并缩进表示[^1]。
```python
def greet(name):
print(f'Hello, {name}')
greet('Alice')
```
#### 参数传递
Python 支持多种类型的参数传递方式,包括位置参数、关键字参数以及默认值参数。
```python
def connect(db='test', user='root'):
print(f'Database: {db}, User: {user}')
connect(user='admin') # 使用关键字参数指定特定参数的值
```
#### 返回值
通过 `return` 语句返回计算结果给调用者;如果没有显式的 `return` 或仅写 `return` 则相当于返回 `None`。
```python
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 输出8
```
#### 变量作用域
局部变量只在其所属代码块内有效(如循环体内),而全局变量在整个模块范围内都可访问。可以利用 `global` 和 `nonlocal` 声明来改变这一行为。
```python
x = 'outside'
def func():
global x
x = 'inside'
func()
print(x) # 输出 "inside"
```
#### Lambda 表达式
匿名函数允许快速创建简单的单行函数对象,通常用于临时性的操作处理场景中。
```python
double = lambda n : n * 2
print(double(7))
```
#### 高阶函数
高阶函数是指接受其他函数作为输入或将函数作为输出的一部分的功能强大的工具之一。常见的内置高阶函数有 `map()`、`filter()` 等。
```python
numbers = [1, 2, 3]
squared_numbers = list(map(lambda x: x ** 2, numbers))
even_numbers = list(filter(lambda x: x % 2 == 0, squared_numbers))
print(squared_numbers) # [1, 4, 9]
print(even_numbers) # [4]
```
#### 装饰器
装饰器本质上是一个接收另一个函数作为参数并将某些功能附加到该目标上的特殊形式闭包。这有助于实现诸如日志记录等功能增强而不修改原始逻辑结构。
```python
from functools import wraps
def log_decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
print(f'{func.__name__} called with arguments {args} and returned {result}.')
return result
return wrapper
@log_decorator
def multiply(x, y):
return x * y
multiply(6, 7)
```
阅读全文