目录
1、with语句和上下文管理器
☆ with语句
Python提供了 with 语句的写法,既简单又安全。
文件操作的时候使用with语句可以自动调用关闭文件操作,即使出现异常也会自动关闭文件操作。
使用with方法实现文件操作,如下所示:
# 1、以写的方式打开文件
with open('1.txt', 'w') as f:
# 2、读取文件内容
f.write('hello world')
2、生成器的创建方式
根据程序设计者制定的规则循环生成数据,当条件不成立时则生成数据结束
数据不是一次性全部生成出来,而是使用一个,再生成一个,可以节约大量的内存。
创建生成器的方式
① 生成器推导式 == > (生成器推导式即数据的生成规则)
本质是一个对象,其内部没有具体的数据,只有数据的生成规则
② yield 关键字
☆ 生成器推导式
与列表推导式类似,只不过生成器推导式使用小括号。
# 创建生成器
my_generator = (i * 2 for i in range(5))
print(my_generator)
# next获取生成器下一个值
# value = next(my_generator)
# print(value)
# 遍历生成器
for value in my_generator:
print(value)
生成器关键的相关函数:
next 函数获取生成器中的下一个值
for 循环遍历生成器中的每一个值
☆ yield生成器
yield 关键字生成器的特征:在def函数中具有yield关键字
def generator(n):
for i in range(n):
print('开始生成...')
yield i
print('完成一次...')
g = generator(5)
print(next(g))
print(next(g))
print(next(g))
print(next(g))
print(next(g)) -----> 正常
print(next(g)) -----> 报错
Traceback (most recent call last):
File "/Users/cndws/PycharmProjects/pythonProject/demo.py", line 14, in <module>
print(next(g))
StopIteration
def generator(n):
for i in range(n):
print('开始生成...')
yield i
print('完成一次...')
g = generator(5)
for i