我是靠谱客的博主 英俊鱼,最近开发中收集的这篇文章主要介绍Python装饰器、构造器、生成器、迭代器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

装饰器(decorator)

what:装饰器是个函数,传入一个函数(比如主功能函数),返回另一个函数(比如计时函数)

why:引入日志、执行时间统计、权限校验等

import time


# 装饰器函数 功能为func函数计时
def timeslong(func):  # 以函数作为参数
    def wrapper():
        start = time.clock()
        print("开始计时!")
        func()  # 执行func
        print("计时完成!")
        end = time.clock()
        return "共跑了 %s s." % (end - start)

    return wrapper  # 返回一个替换函数的可执行函数


@timeslong
def f():
    y = 0
    for i in range(10):
        y = y + i + 1
        print(y)
    return y


print(f())

构造器(构造方法、初始化函数)

what:实例化一个对象时,第一个被调用的方法(__init__(self))

迭代器(Iteratior)

what:访问集合元素的方式,可记住遍历位置的对象(str、list、dict、set、tuple)。for语句底层就是迭代器。

how:两个基本方法iter()和next()。

生成器(Generator)

what:迭代器的一种实现。(列表生成式改成括号、yield)

带括号的列表生成器:(i for i in range(10))、next()、__next__()、StopIteration错误

带yield的生成器:yield保存当前状态,暂停,挂起函数。

最后

以上就是英俊鱼为你收集整理的Python装饰器、构造器、生成器、迭代器的全部内容,希望文章能够帮你解决Python装饰器、构造器、生成器、迭代器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部