python 装饰器,有无内层函数的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 装饰器,有无内层函数的区别相关的知识,希望对你有一定的参考价值。

# !/usr/bin/env python
# -*- coding:utf-8 -*-


def decorator(func):
    print('decorator 1')
    func()
    print('decorator 2')
    return func


@decorator
def foo():
    print('foo-self')


foo()
# decorator 1
# foo-self
# decorator 2
# foo-self


print('-' * 15)


def outer(func):

    def inner():
        print("dddd")
        func()
        print("ssss")
    return inner


@outer
def foo():
    print("foo")


# foo = outer(foo)
foo()
# dddd
# foo
# ssss

以上是关于python 装饰器,有无内层函数的区别的主要内容,如果未能解决你的问题,请参考以下文章

Python之闭包装饰器

闭包和装饰器

关于Python装饰器内层函数为什么要return目标函数的一些个人见解

017-闭包-装饰器

python基础装饰器

python3 装饰器