无法获取元素个数; 获取元素的时候必须将元素从迭代器中取出,取出后元素会从迭代器中消失,并且无法再添加;
next(迭代器) - 获取迭代器最前面的那个元素
for 变量 in 迭代器:
调用一个带有yield关键字的函数就可以得到一个生成器对象
def str_new(): for x in range(1,1000): yield f'stu{x:0>3}' print(list(str_new()))
装饰器=实参高阶函数+返回值高阶函数
装饰器是用来给已经定义好的函数添加功
def 装饰器名称():
def 新函数名()
原函数返回值=原函数()
新增功能
retrun 元函数返回值
retrun 新函数名
def 装饰器名称():
def 新函数名(*args,**kwargs):
原函数返回值=原函数(*args,**kwargs)
新增功能
retrun 元函数返回值
retrun 新函数名
# 练习:写一个装饰器在函数调用结束后打印千锋教育; def add_logo(f): def new_f(): result=f() print('千锋教育') return result return new_f @add_logo def func1(): print('hello world') print(func1()) def product_nums(f): def new_f(): result=f() return result*100 return new_f @product_nums def sum_nums(): result=10 return result print(sum_nums())