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


    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关键字,调用函数并不会执行函数体代码
    # 会返回一个生成器对象,生成器即自定义的迭代器
  • 相关阅读:
    [转]OLAP的12条准则
    这几年
    方法论
    用NetHogs监控Linux每个进程的网络使用情况
    Centos下文本文件格式转码解决
    CentOS+Puppet分布式部署Zabbix监控系统
    ubuntu修复grub,u盘引导问题
    postfix搭建纯邮件转发服务器
    Mysql: 利用强制索引去掉重数据
    shell 变量赋值与替换
  • 原文地址:https://www.cnblogs.com/mayrain/p/12562358.html
Copyright © 2020-2023  润新知