笔记---迭代器,闭包,装饰器

1.迭代器
a.判断迭代 isinstance()判断一个
b.生成器是可迭代对象
c。iter() 转成生成器

迭代对象


2. 闭包
定义 :一坨东西 ,名字只是一个变量指向这一坨东西
在函数里面定义一个函数,里面的函数用到外边的变量,这个函数和用到的变量称之为变量
第一步:先调用函数,找一个变量指向里面的函数,
例子: def test(number):
print('1111111111')
def test_in(number2):
print('---2----')
print(number+number2)
print('333333')
return test_in
ret =test(100)
print('*'*30)
ret(1)#这个ret就是test_in()这个函数
ret(200)

应用:
def test(a,b):
def test_in(x):
print(a*x+b)
return test_in
line1=test(1,1)
line2=test(10,4)
line1(0)
line2(0)
简化代码传参的格式

3.装饰器
原理:
例子
def w1 (func):
def inner():
print('1111')
fnuc()
return inner
def f1():
print('f1')
def f2():
print('f2')
f1=w1(f1)# 等价 @w1
f1()
f2=w1(f2)
f2()

2个装饰器 先装饰离函数最近的,然后向上一次装饰



4.匿名函数
应用 给字典排序
例子 infors=[{"name":"laowang","age":10},"name":"xiaoming","age":10},"name":"bangzhang","age":10}]
infors.sort(key=lambda x:x['name']) 第一个x 为字典,第二个x为key


5.列表排序
num。sort()
num.reverse() 逆序


6.

原文地址:https://www.cnblogs.com/mrwuzs/p/8028298.html