作業(yè) day11

# 為函數(shù)寫一個(gè)裝飾器,在函數(shù)執(zhí)行之后輸出 after
def af(fn):
    def test(*args,**kwargs):
        re=fn(*args,**kwargs)
        print('after')
        return re

    return test

@af
def ys_sum(x,y):
    return x+y


print(ys_sum(10,20))

# 2. 為函數(shù)寫一個(gè)裝飾器,把函數(shù)的返回值 +100 然后再返回。
def jia(fn):
    def test(*args,**kwargs):
        re=fn(*args,**kwargs)
        return(int(re)+100)
    return test

@jia
def ys_2(x,y):
    return x+y

print(ys_2(15,25))
print('===============================================')
# 寫一個(gè)裝飾器@tag要求滿足如下功能:
"""
@tag
def render(text):
    # 執(zhí)行其他操作
    return text

@tag
def render2():
    return 'abc'

print(render('Hello'))   # 打印出: <p>Hello</p>
print(render2())     # 打印出: <p>abc</p>
"""
def tag1(fn):
    def test(*args,**kwargs):
        re=fn(*args,**kwargs)
        return '<p>'+re+'</p>'
    return test

@tag1
def render(text):
    return text

print(render('Hello'))

print('===============================================')
# 寫一個(gè)裝飾器@tag要求滿足如下功能(需要使用帶參的裝飾器,自己先自學(xué)正在一下):
"""
@tag(name='p')
def render(text):
    # 執(zhí)行其他操作
    return text

@tag(name='div')
def render2():
    return 'abc'

print(render('Hello'))   # 打印出: <p>Hello</p>
print(render2())     # 打印出: <div>abc</div>
"""
def tag2(name):
    def mid(fn):
        def test(*args,**kwargs):
            re=fn(*args,**kwargs)
            return '<'+name+'>'+re+'</'+name+'>'
        return test
    return mid

@tag2(name='p')
def render2():
    return 'abc'

print(render2())

print('===============================================')
"""
為函數(shù)寫一個(gè)裝飾器,根據(jù)參數(shù)不同做不同操作。
flag為True,則 讓原函數(shù)執(zhí)行后返回值加100,并返回。
flag為False,則 讓原函數(shù)執(zhí)行后返回值減100,并返回
"""
def ys5(flag:bool):
    def mid(fn):
        def test(*args,**kwargs):
            re=fn(*args,**kwargs)
            if flag:
                return re+100
            else:
                return re-100
        return test
    return mid


@ys5(flag=True)
def zj(x,y):
    return x + y


print(zj(2,1))

@ys5(flag=False)
def zj(x,y):
    return x + y


print(zj(2,1))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 學(xué)生管理系統(tǒng)更新版本2.0 main myfunction accounts.json man_stu_sys
    龍神海王閱讀 235評(píng)論 0 0
  • 為函數(shù)寫一個(gè)裝飾器,在函數(shù)執(zhí)行之后輸出 afterdef add_after(fn): def test(*...
    孤獨(dú)的死小孩閱讀 80評(píng)論 0 0
  • 1.提取data.json中的數(shù)據(jù),將每條數(shù)據(jù)中的name、text、love和comment信息。并且保存到另外...
    naruto711閱讀 154評(píng)論 0 0
  • 剛剛一個(gè)月大,也是個(gè)調(diào)皮的小娃娃, 平時(shí)就愛咬東西,剛到家三天, 一直沒想好叫什么名字, 求大神們給點(diǎn)建議, 小娃...
    summer陽光閱讀 338評(píng)論 3 0
  • 昨天經(jīng)歷了一天的吃喝玩樂,修車換轱轆,終于,晚上做夢(mèng)成功的夢(mèng)到依舊在修車換轱轆 。 作為資深夢(mèng)先生的我無聊到有記下...
    云端的小馬閱讀 322評(píng)論 0 1

友情鏈接更多精彩內(nèi)容