迭代器 生成器 装饰器 匿名函数
#可迭代对象:列表、字典、集合、字符串;能够被for 循环遍历的对象# 数字类型不可迭代;# name="wangyifei"# for i in name:# print(i,end=" ")# print()## list=[11,22,33,44]# for i in list:# print(i,end=" ")# print()## tuple=(1,2,3,4,5,6)# for i in tuple:# print(i,end=" ")# print()## a=set("python")# for i in a:# print(i,end=" ")# print()## info={"name":"laowang","age":30,"gnder":"保密"}# for i,j in info.items():# print(i,j)# print()## for i in range(5):# print(i) #判断可迭代对象-Iterable;# from collections import Iterable# print(isinstance([11,22], Iterable))# print(isinstance((11,22),Iterable))# print(isinstance({11,22},Iterable))# print(isinstance("qwsdvdvg",Iterable))# print(isinstance(1234,Iterable))# print(isinstance(range(10),Iterable)) # class MyList(object):# def __init__(self):# self.list=[]# def add(self,item):# self.list.append(item)# mylist=MyList()# mylist.add(1)# mylist.add(2)# mylist.add(3)# mylist.add(4)# print(mylist.list)# from collections import Iterable# print(isinstance(mylist,Iterable)) # class MyList(object):# def __init__(self):# self.list=[]# def add(self,item):# self.list.append(item)# def __iter__(self):# pass# mylist=MyList()# mylist.add(1)# mylist.add(2)# mylist.add(3)# mylist.add(4)# print(mylist.list)# from collections import Iterable# print(isinstance(mylist,Iterable)) #01;# alist=[66,88,99,123,1,6,789]# a_iter=iter(alist)# while True:# try:# print(next(a_iter))# except StopIteration: #StopIteration停止迭代的异常;# break #02# from collections import Iterator# print(isinstance([],Iterator))# print(isinstance(iter([]),Iterator))# print(isinstance(iter("wefrt"),Iterator)) #03迭代器;# class DDQ(object):# def __init__(self,my_list):# self.my_list=my_list# self.current=0# def __iter__(self):# return self# def __next__(self):# if self.current < len(self.my_list):# item=self.my_list[self.current]# self.current+=1# return item# else:# raise StopIteration# if __name__ == '__main__':# my_list=[1,2,3,4,5,6,7,8]# from collections import Iterable# print(isinstance(my_list,Iterable))# ddq=DDQ(my_list)# for i in ddq:# print(i) #for循环的本质;# for 变量 in 可迭代对象# alist=[1,2,35,6,77,9]# a_iter=iter(alist)# while True:# try:# print(next(a_iter))# except StopIteration:# break #迭代器;斐波那契数列;# class Fei(object):# def __init__(self,n):# self.n=n #数列长度;# self.num1=0# self.num2=1# self.current=0 #记录索引位置# def __iter__(self):# return self# def __next__(self):# if self.current < self.n: #判断条件,如果索引位置小于数列长度做的事;# num=self.num1# self.num1,self.num2=self.num2,self.num1+self.num2# self.current+=1# return num# else:# raise StopIteration## if __name__ == '__main__':# fei=Fei(10)# # for i in fei:# # print(i,end=" ")## # ret=list(fei)# # print(ret)## # ret=tuple(fei)# # print(ret)## while True:# try:# print(next(fei))# except StopIteration:# break #可迭代对象构造;# class MyList(object):# def __init__(self):# self.list=[]# def add(self,item):# self.list.append(item)# def __iter__(self):# pass# mylist=MyList()# mylist.add(1)# mylist.add(2)# mylist.add(3)# mylist.add(4)# print(mylist.list)# from collections import Iterable# print(isinstance(mylist,Iterable)) #迭代器列表,斐波那契数列;# class DDQ(object):# def __init__(self,mylist):# self.mylist=mylist# self.current=0# def __iter__(self):# return self# def __next__(self):# if self.current<len(self.mylist):# item=self.mylist[self.current]# self.current+=1# return item# else:# raise StopIteration# if __name__ == '__main__':# mylist=[66,88,99,123,456,789]# from collections import Iterable# print(isinstance(mylist,Iterable))# ddq=DDQ(mylist)# for i in mylist:# print(i,end=" ") ## class Fei(object):# def __init__(self,n):# self.n=n# self.num1=0# self.num2=1# self.current=0# def __iter__(self):# return self# def __next__(self):# if self.current<self.n:# num=self.num1# self.num1,self.num2=self.num2,self.num1+self.num2# self.current+=1# return num# else:# raise StopIteration# if __name__ == '__main__':# fei=Fei(10)# # for i in fei:# # print(i,end=" ")## # while True:# # try:# # print(next(fei))# # except StopIteration:# # break## # ret=list(fei)# # print(ret)## # ret=tuple(fei)# # print(ret) #生成器;# a=[i for i in range(10)]# print(a)# #生成器是一类特殊的迭代器;# b=(i for i in range(10)) #生成器;# print(b)# # for i in b:# # print(i)# # print(list(b)) #元祖强转列表;# print(tuple(b)) #斐波那契数列;# def fei(n):# num1,num2=0,1# current=0# while current<n:# num=num1# num1,num2=num2,num1+num2# current+=1# yield num# return# if __name__ == '__main__':# f=fei(10)# print(f)# # for i in f:# # print(i,end=" ")## # print(list(f))## while True:# try:# print(next(f),end=" ")# except StopIteration:# break #装饰器 无参# def outer(func):# def inner():# print("验证业务逻辑的完善")# func()# return inner# @outer# def f1():# print("hello worle")# f1() #有参数;# def outer(func):# def inner(a,b):# print("验证业务逻辑的完善")# func(a,b)# return inner# @outer# def f1(a,b):# print("hello world",a+b)# f1(1,2) #不定长参数;# def outer(func):# def inner(*args,**kwargs):# print("验证业务逻辑的完善")# func(*args,**kwargs)# return inner# @outer# def f1(a,b,c,d):# print("hello",a+b+c+d)# f1(1,2,3,4) ## def outer1(func):# def inner(*args,**kwargs):# print("111")# func(*args,**kwargs)# return inner# def outer2(func):# def inner(*args,**kwargs):# print("day2")# func(*args,**kwargs)# return inner# @outer1# @outer2# def f1(a,b,c,d):# print(a+b+c+d)# f1(1,2,3,4) #匿名函数 # def add2num(a,b):# print(a+b)# add2num(10,20) #格式:lambda 形参:表达式(返回值和输出语句)# f=lambda x,y:print(x+y)# f(10,20) # def add2num(a,b):# return a+b# f=lambda a,b:a+b# print(f(10,20))
转载于:https://www.cnblogs.com/wyf2019/p/10951944.html
迭代器 生成器 装饰器 匿名函数相关推荐
- 迭代器/生成器/装饰器 /Json pickle 数据序列化
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需 ...
- Python基础 day4 迭代器生成器 装饰器 Json pickle 数据序列化 软件目录结构规范 作业:ATM项目开发...
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 列表生成器 1.列表生成式,迭代器&生成器 列表生成式 孩子, ...
- Python 3 学习——函数扩展and迭代器生成器装饰器
Python 学习的第九小节 写此博客 是为了激励自己,并且将自己的心得以及遇到的问题与人分享 一.学习笔记 1. 高阶函数 函数名可以作为函数参数输入 .可以进行赋值.还可以作为返回值. 2.作用域 ...
- day04 迭代器生成器装饰器
目录 1.迭代器 2.生成器 3.推导式 4.匿名函数 5.内置函数 6.递归 7.闭包 8.装饰器 一.迭代器 特点: 1. 省内存 2. 只能向前. 不能反复 3. 惰性机制 让不同的数据类型 ...
- python学习day-8 迭代器 生成器 装饰器
http://www.cnblogs.com/linhaifeng/articles/7580428.html 迭代器#迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代, ...
- python迭代器生成器装饰器
基本概念 学习python中有什么不懂的地方,小编这里推荐加小编的python学习群:895 817 687有任何不懂的都可以在里面交流,还有很好的视频教程pdf学习资料,大家一起学习交流! 1.容器 ...
- python 生成器装饰器_4.python迭代器生成器装饰器
基本概念 1.容器(container) 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中.通常这类数据结构把所有的元 ...
- python 生成器装饰器_七.python迭代器生成器装饰器
1.迭代器 1.1 什么是可迭代对象(Iterable)? 定义:可以直接作用于for循环的对象统称为可迭代对象,即Iterable. 可迭代对象包括: 1.集合数据类型:如list.tuple.di ...
- python基础(迭代器,生成器,装饰器)
python: 生成器: 因为当列表元素达到一定上限,列表会占很大内存空间来存储,所以列表是受到内存限制的来适当使用. 生成器可以按照一个算法,循环推导出元素,就不用一次生成整个列表,而通过生成器(g ...
最新文章
- Spring Batch事务处理
- Android SDK与API版本的对应关系
- linux文件属性和类型
- python pip 升级
- viper4android 魅族6,手机资讯导报:魅族自曝新旗舰PRO6摄像头不凸起
- 5岁儿童自学python编程-多大的孩子学python编程比较好
- JSon数据操作示列
- union all关联两个不相关的表,按时间排序
- 编译OpenJDK12:freetypeScaler.obj error LINK2019 无法解析的外部符号
- php mysql网页象棋源码_Android项目源码安卓联网中国象棋源码
- 其它——Siege压力测试工具使用
- 一文极速读懂 KEGG 数据库
- 自然语言处理——字符串基础操作及应用
- java扫码枪键盘_浅谈在react中如何实现扫码枪输入
- DFRobot行业AI开发者大赛--LattePandaDelta
- 视觉单目标跟踪任务概述
- 什么是Ordinal Classification?
- 时序优化方法和引起时序违例的若干问题
- 一个架构师的价值在于,他不仅能看到系统的美,而且能够在建造系统的时候能够把这些美创造出来...
- Python的五大奇淫技巧,带你掌握高效编程技巧的充实感
热门文章
- Web文件上传方法总结大全
- linux应用程序接收文件,Linux应用程序学习之文件编程
- java装饰模式模拟流_Java 装饰模式 io流
- c++ list box 字体设置_上海印刷字体展示馆 迎来第一批团队参观
- java id pid_根据id,pid生成树结构,再生成id,pid形式
- 天线3db波束宽度_天线波束宽度计算公式
- python保存数据_Python 保存数据的方法(4种方法)
- 怎样把python源程序发给别人_如何把Python源码打包成EXE文件?以及bug
- 抠图为什么要用绿布_《暮白首》为什么如此火爆?五个原因带你深度剖析
- 如何访问云端的tcpserver_远程读写FTP文件,花生壳盒子+Serv-U快速实现远程访问...