1. 程式人生 > >第十二天 生成器再進階

第十二天 生成器再進階

小知識點:

  print(函式名.__name__)就可以列印函式的以字串的名字的功能。

  print(函式名.__doc__)列印函式文件的功能。

  使用裝飾器會改變函式__name__的輸入。但是如果想使用原本函式的名字和文件的話,就可以使用以下模組:

from functools import wraps:

def wrapper(func):

  @wraps(func)            #這個功能就可以不改變呼叫原始函式本身的__name__和__doc的結果!

  def inner (*args,**kwargs):

    print('在被裝飾函式之前執行的功能')

    ret = func(*args,**kwargs)

    print('在被裝飾函式之後執行的功能')

    return ret

  return inner

@wrapper

def func(...):

  print('函式本身的功能)

ret = func(...)

print(func.__name__)

print(func.__doc__)