复杂一些的python
时间: 2023-10-12 11:17:12 浏览: 33
好的,我们来看一些 python 中的复杂点的东西。
列表推导式(List Comprehensions)是 python 中一种简洁的方式,用来创建列表。它使用一个表达式作为列表的元素,并在表达式的基础上进行循环和条件判断。比如,下面的代码将一个列表中所有的数字乘以 2,并将结果存储在一个新列表中:
```
numbers = [1, 2, 3, 4, 5]
doubled_numbers = [n * 2 for n in numbers]
print(doubled_numbers) # [2, 4, 6, 8, 10]
```
生成器表达式(Generator Expressions)是一种类似列表推导式的结构,但是它不会立即生成整个列表,而是在需要的时候按需生成。这样,就可以在处理较大的数据集时节省内存空间。比如,下面的代码用了生成器表达式生成了一个由 1 到 100 的数字的生成器:
```
numbers = (n for n in range(1, 101))
print(numbers) # <generator object <genexpr> at 0x10fdfa1a8>
```
可以使用 next() 函数来迭代生成器中的元素:
```
print(next(numbers)) # 1
print(next(numbers)) # 2
print(next(numbers)) # 3
...
```
还有一个比较复杂的东西,就是装饰器(Decorators)。装饰器是一种在不修改函数代码的情况下为函数添加额外功能的方法。它通过在函