python装饰器 返回值

#coding=utf-8
from functools import wraps

def test1(func):
  @wraps(func)
  def wrap(*args,**kwargs):
    print "#"*20
    return func(*args,**kwargs)
  return wrap

@test1
def one():
  return "hello"
a = one()
print a

# one = test1(one)=wrap
# 相当于:
# one()=wrap()
# print "#"*20
# func()=one()=return "hello"
# 函数返回没有接收
# 不能作为结果随wrap一起返回

参考:

http://study.163.com/course/courseLearn.htm?courseId=1004091002#/learn/video?lessonId=1048981199&courseId=1004091002

猜你喜欢

转载自blog.csdn.net/jackliu16/article/details/81152956