| 
 | 
 
 
发表于 2020-4-19 23:30:23
|
显示全部楼层
 
 
 
 本帖最后由 Stubborn 于 2020-4-19 23:39 编辑  
 
- from functools import wraps
 
 - def set_magicians(func):
 
 -         @wraps(func)
 
 -         def wrapper(*args, **kwargs):
 
 -             magicians = args[0] if args[0] else kwargs.get("magicians")
 
 -             magicians = ["this is "+ x for x in magicians]
 
 -             func(magicians)
 
 -         return wrapper
 
  
- magicians = ['david', 'Louis Liu', 'annie']
 
 - @set_magicians
 
 - def show_magicians(magicians):
 
 -     for magician in magicians:
 
 -         print(magician)
 
  
- show_magicians(magicians)
 
  复制代码 
 
可以使用装饰器,非常强大的功能 
 
简单一点的,就这样咯 
- magicians = ['david', 'Louis Liu', 'annie']
 
 - def show_magicians(magicians):
 
 -     for magician in magicians:
 
 -         print(magician)
 
  
- def set_magicians(arg, callback):
 
 -     arg = ["the great "+ x for x in arg]
 
 -     callback(arg)
 
  
- set_magicians(magicians, show_magicians)
 
  复制代码 |   
 
 
 
 |