zoukankan      html  css  js  c++  java
  • 笔记---迭代器,闭包,装饰器

    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.

  • 相关阅读:
    Block深入浅出
    JSPatch 遇上swift
    iPhone左下角app图标
    Handoff使用指南
    实习任务——导出excel
    实习任务——对查询结果进行筛选过滤
    Markdown基本语法
    学习笔记(二)——类加载及执行顺序
    #学习笔记(一)——static
    写给过去的3年,拥抱2016
  • 原文地址:https://www.cnblogs.com/mrwuzs/p/8028298.html
Copyright © 2011-2022 走看看