示例一与示例二 示例二不理解运行原理??

来源:3-4 Python 装饰器(上)

Air404

2020-07-09

示例一:

-- coding: utf-8 --

def funA(desA):
print(“It’s funA”)
def funB(desB):
print(“It’s funB”)
@funA
def funC():
print(“It’s funC”)

编译器输出结果是:It’s funA

示例二:

-- coding: utf-8 --

def use_loggin(func):
# print("[debug] " + func + " is running")

def wrapper(*args, **kwargs):
    # func.__name__ 表示方法的名字
    print("[debug] %s is running" % func.__name__)
    return func(*args, **kwargs)

return wrapper

@use_loggin
def bar():
print(“i am bar”)

@use_loggin
def bar2():
print(“i am bar2”)

示例二:运行后结果是空?为什么?

示例二与示例一 相似。示例一没有调用函数,示例二只能调用bar或者bar2才出来结果???
什么原理?运行过程??

写回答

1回答

编程浪子

2020-07-13

不一样的

你的第一种写法是 @修饰符函数 https://www.cnblogs.com/wanghui-garcia/p/11431662.html

第二种写法 就是装饰器

1
1
Air404
非常感谢!
2020-07-14
共1条回复

Python Flask入门与进阶 开发电影网站

从只会Python基础语法到

824 学习 · 283 问题

查看课程