微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

main_print 函数的问题

如何解决main_print 函数的问题

我正在尝试一个带有装饰器功能的简单 python 程序。奇怪的是程序只执行了装饰器函数的print语句,调用函数main_print却没有执行?

decor.py

def decorator(some_func):
  def wrapper():
        print('execute wrapper function from the decorator function')
  return wrapper

@decorator
def main_print():
  print('executing main_print')

main_print()

输出显示

$ python3 decor.py 
print('execute wrapper function from the decorator function')

解决方法

我认为你必须调用装饰器内部的函数,例如

decor.py

def decorator(some_func):
  def wrapper():
        print('execute wrapper function from the decorator function')
        some_func()    # call the passed function        
  return wrapper

@decorator
def main_print():
  print('executing main_print')

main_print()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。