裝飾器傳參精髓理解

2021-08-20 14:22:15 字數 662 閱讀 6724

1.  建立乙個空的列表版

執行結果:

2.  建立乙個空的字典版

fun_dict = dict()

def set_args(url):

def set_fun(func):

def call_fun(*args, **kwargs):

return func(*args, **kwargs)

# 把位址與對應的函式建立關係

fun_dict[url] = call_fun

return call_fun

return set_fun

@set_args("/index.py")

def test():

print("test1")

@set_args("/center.py")

def test2():

print("test2")

執行結果:

3.  運用場景

主要用於伺服器與框架之間的連線,在框架裡對使用者輸入的位址進行傳參

裝飾器 萬能傳參

案例 一 環境 以上為線上 需要新增1個統計執行時間的功能。線上 如下 1 usr bin env python2 coding utf8 3 author dong ye45 import time67 8def test1 9 time.sleep 3 10print in the test1 ...

裝飾器 有參裝飾器

有參裝飾器 是為裝飾器提供多樣功能選擇的實現提供的,實現原理是三層閉包。有參裝飾器的基本模板 def outter x defoutter1 func res func args,kwargs print x return res return return outter1 通過第三層進行傳值,使得...

有參裝飾器

import time current user def deco func if current user user 已經登陸過 res func args,kwargs return res user input username strip pwd input password strip i...