python闭包 练习题
时间: 2023-06-21 09:23:42 浏览: 114
python高阶闭包练习题
好的,下面是一些 Python 闭包的练习题:
1. 编写一个函数,接受一个整数 n,返回一个函数,该函数返回 n 的平方。
```python
def square(n):
def inner():
return n ** 2
return inner
```
2. 编写一个函数,接受一个整数 n,返回一个函数,该函数每次调用将 n 加 1。
```python
def add_one(n):
def inner():
nonlocal n
n += 1
return n
return inner
```
3. 编写一个函数,接受一个字符串 s,返回一个函数,该函数接受一个整数 n,返回 s 的前 n 个字符。
```python
def get_prefix(s):
def inner(n):
return s[:n]
return inner
```
4. 编写一个函数,接受一个整数 n,返回一个函数,该函数接受一个整数 m,返回 n 的 m 次方。
```python
def power(n):
def inner(m):
return n ** m
return inner
```
5. 编写一个函数,接受一个可迭代对象(如列表、元组等),返回一个函数,该函数接受一个整数 n,返回可迭代对象的前 n 个元素。
```python
def get_first_n(iterable):
def inner(n):
return iterable[:n]
return inner
```
阅读全文