迭代器,生成器,装饰器简述

装饰器

它是指对函数执行过程,做一些扩展,甚至可以更改本身函数的执行,它就是在不改变源码的情况下,给它添加新的功能

 

python提供的内置装饰器有?

@classmethod修饰类函数,可以由对象和类调用,在类函数中,有一个隐形参数,如果使用类函数执行,隐形参数指这个类。如果使用对象.类函数执行,隐形函数指对象的类型。它只想让类来调用

@staticmethod修饰静态函数,静态函数没有任何隐形参数,可以由对象和类调用

@property在函数前面加这个装饰器,那么这个函数可以当成属性类用

 

迭代器

访问者不需要关心迭代器内部的结构,仅需通过next()方法不断去取下一个内容,不能随机访问集合中的某个值,只能从头到尾依次访 问,访问到一半不能往后退,便于循环比较大的数据集合,节省内存

迭代器有两种类型:

1.集合数据类型:列表,字典,元组,集合,字符串

2.generator:包括生成器和带有yield的生成函数

 

生成器

一个函数在调用时返回一个迭代器,那这个函数就叫做生成器,如果函数中包含yield语法,那这个函数就会变成生成器,它是一遍循环一般计算的机制。

生成器的特点:

1.节约内存

2.迭代到下一次的调用时,所使用的参数都是第一次所保留下来的,即是说,在整个所有函数调用的参数都是第一次所调用时保留的,而不是新创建的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值