函数
闭包函数:内函数使用了外函数的局部变量,并且外函数把内函数返回出来的过程叫闭包,被返回出的函数叫闭包函数
def out():
num = 1
def inner():
print(num)
return inner
res = out()
res()
def out():
num = 1
def middle():
num1 = 2
print(num)
def inner():
print(num1)
return inner
return middle
func = out()
res = func()
res()
闭包函数
def out(name):
def inner():
print(name,"喜欢在夏天穿短裤")
return inner
func = out("小明")
func()
迭代器:数据量(序列里的数据)过大的情况需要用到迭代器
for i in range(1,100000000000):
pass
from collections import Iterator,Iterable
str1 = "你好世界"
res = isinstance(str1,Iterable)
print(res)
res1 = isinstance(str1,Iterator)
print(res1)
list1 = [1,2,3,4,5]
res = isinstance(list1,Iterable)
print(res)
res1 = isinstance(list1,Iterator)
print(res1)
list1 = [1,2,3,4,5,6,7,8,9,0]
res = iter(list1)
print(res,type(res))
str1 = "北京这块热死了"
res = iter(str1)
print(res,type(res))
tuple1 = (1,2,3,4,5,6)
res = iter(tuple1)
print(next(res))
print(next(res))
print(next(res))
print(next(res))
print(next(res))
print(next(res))
result = list(res)
print(result)
for num in res:
print(num)
result = list(res)
print(result)
print('--------------------')
list1 = ["大锤","二妮","小可爱"]
tuple1 = ("80","40","白给")
res = zip(list1)
print(res,type(res))
print(next(res))
print(next(res))
print(next(res))
res1 = isinstance(res,Iterator)
print(res1)
list1 = ["大锤","二妮","小可爱","老可爱"]
tuple1 = ("80","40","白给")
res = zip(list1,tuple1)
for name in res:
print(name)
res1 = dict(res)
print(res1)
list1 = ["大锤","二妮","小可爱","老可爱"]
tuple1 = ("80","40","白给")
res = zip(*zip(list1,tuple1))
for name in res:
print(name)