• 有参装饰器/迭代器/生成器


    def auth(参数1,参数2,参数3):
    def deco(func):
    def wrapper(*args,**kwargs):
    res=func(*args,**kwargs)
    return res
    return wrapper
    return deco

    from functools import wraps
    def outer(func):
    @wraps(func)
    def wrapper(*args,**kwargs):
    res=func(*args,**kwargs)
    return res
    return wrapper
    @outer#index=outer(index)#index等于wrappe的内存地址
    def index(x,y):
    """
    解释文档
    :param x:
    :param y:
    :return:
    """
    print("this is index------>",x,y)
    index(1,2)#wrapper调用
    print(index.__name__)
    print(index.__doc__)

    1、什么是迭代器
    迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复
    都是基于上一次的结果而继续的,单纯的重复并不是迭代

    2、为何要有迭代器
    迭代器是用来迭代取值的工具,而涉及到把多个值循环取出来的类型
    有:列表、字符串、元组、字典、集合、打开文件

    l=['egon','liu','alex']
    i=0
    while i < len(l):
    print(l[i])
    i+=1

    上述迭代取值的方式只适用于有索引的数据类型:列表、字符串、元组
    为了解决基于索引迭代器取值的局限性
    python必须提供一种能够不依赖于索引的取值方式,这就是迭代器


    3、如何用迭代器

    # 如何得到自定义的迭代器:
    # 在函数内一旦存在yield关键字,调用函数并不会执行函数体代码
    # 会返回一个生成器对象,生成器即自定义的迭代器
  • 相关阅读:
    路径规划算法总结
    常用滤波器整理
    Debian 9 strech 安装 ROS lunar
    understand 安装笔记
    protobuf 安装与卸载
    maven-surefire-plugin
    spring数据源、数据库连接池
    日志插件总结
    pom.xml常用元素解析
    BeanFactory笔记
  • 原文地址:https://www.cnblogs.com/mayrain/p/12562358.html
Copyright © 2020-2023  润新知