01语言基础-三大神器22020426

本文深入探讨了Python中的三大神器——迭代器、生成器和装饰器。迭代器作为容器,不直接保存数据,而是按需产生元素。生成器则保存产生数据的算法,可以通过`yield`关键字创建。装饰器是一种用于给函数添加功能的工具,分为无参数和有参数装饰器,可以灵活地扩展函数功能。通过学习这三大概念,可以更好地理解和运用Python高级特性。
摘要由CSDN通过智能技术生成
12python语言三大神器
01迭代器

1.1 什么是迭代器(iter)
迭代器是容器:程序中无法直接创建一个迭代器,只能将别的序列转换成迭代器
特点:打印迭代器无法查看所有的元素,也无法获取元素的个数,获取元素的时候,每次只能获取最前面的那个元素,元素取一个少一个
1.2 查- 获取元素
迭代器不管以什么方式获取到了某个元素,那么这个元素一定会从迭代器中消失
1)查单个: next(迭代器) - 获取迭代器中最前面的那个元素
2)遍历

02生成器

2.1 什么是生成器
生成器也是容器,其它容器是直接保存多个数据,生成器保存的是产生多个数据的算法
生成器获取数的方式和特点和迭代器一样。
2.2 创建生成器
调用一个带有yield关键字的函数就可以得到一个生成器的对象
2.3 控制生成器产生数据的个数和值
一个生成器能产生的数据的个数和值由创建生成器调用的那个函数的函数体在执行时会遇到几次yield以及每次yield后面的值来决定个数。由yield后面的数据决定值
2.4 创建数据的原理
每次获取生成器的数据的时候,就会去执行创建这个生成器的函数体,但是每次执行到yield就会停下来

3 装饰器

3.1什么是装饰器 - - 给已经定义好的函数添加功能的工具
装饰器就是一个函数,这个函数即是实参高阶函数,又是返回值高阶函数

4无参数装饰器

1.无参装饰器语法
语法:
del 装饰器名(参数1):
def 添加完功能的新函数(*args,**kwargs):
调用原函数
添加新功能
return 添加完功能的新函数

语法细化:
def 装饰器名(f)
def new_f(*args,**kwargs)
result = f(*args,**kwargs)
添加新功能
return result
return new_f

5有参装饰器

有参装饰器语法细化:
def 装饰器名称(参数列表):
def 无参装饰器(f):
def new_f(*arg, **kwargs):
result = f(*arg, **kwargs)
新增功能
return result
return new_f
return 无参装饰器
参数列表 - 看实现装饰器新增功能需不需要额外的数据需要几个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值