第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

有沒(méi)有一種巧妙的方法來(lái)調(diào)用一個(gè)函數(shù),該函數(shù)依次調(diào)用具有不同數(shù)量和類(lèi)型的參數(shù)的多個(gè)函數(shù)?

有沒(méi)有一種巧妙的方法來(lái)調(diào)用一個(gè)函數(shù),該函數(shù)依次調(diào)用具有不同數(shù)量和類(lèi)型的參數(shù)的多個(gè)函數(shù)?

人到中年有點(diǎn)甜 2021-09-11 16:16:06
在 Python 2.7 中,我有幾個(gè)無(wú)法修改的函數(shù),只能使用。其中三個(gè)是“前”的,三個(gè)是“后”的;讓我們稱(chēng)它們?yōu)?f1()、f2()、f3()、r1()、r2()、r3()。而且我還有 17 個(gè)函數(shù),它們具有不同數(shù)量和類(lèi)型的參數(shù),具有不同的名稱(chēng)關(guān)鍵字,例如:function01( par1='hello' , par2=847, par3=True , par4=17.821 , ........... )function02( par43=(8.3+17.9i) , par21='august' )等等。我需要這樣稱(chēng)呼他們?nèi)?17 個(gè):f1()f2()f3()functionNN(............................)r1()r2()r3()該代碼塊 17 次(對(duì)于 NN=1 到 17)!有沒(méi)有不寫(xiě) 17 個(gè)塊的狡猾的方法來(lái)做到這一點(diǎn)?***添加信息......我現(xiàn)在擁有的是一個(gè)可怕的代碼:#block1f1()f2()f3()function01( par1=..., par2=..., par3=..., par4=...................)r1()r2()r3()#block2f1()f2()f3()function02( par43=..., par21=...)r1()r2()r3()#block3f1()f2()f3()function03( par17=..., par37=..., par11=...)r1()r2()r3()#block4...................................#block17.......17 個(gè)函數(shù)之一具有“無(wú)名”參數(shù)。:-S
查看完整描述

3 回答

?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

為什么不使用循環(huán),像這樣:


for i in range(17):

    f1()

    f2()

    ....


查看完整回答
反對(duì) 回復(fù) 2021-09-11
?
桃花長(zhǎng)相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

列出函數(shù)及其參數(shù):


ff=[ [function01, [10,20,"something"],  dict(par1='hello', par2=847, par3=True, par4=17.821)],

     [function02, [],                   dict(par43=(8.3+17.9i), par21='august')],

     [function03, [1,2,"hello"],        {}],

     ...

    ]


for  i in range(17):

        f1()

        f2()

        f3()


        posargs=ff[i][1]        # positional args

        kw=ff[i][2]             # keyword args for function_i

        ff[i][0](*posargs,**kw) # calling function_i


        r1()

        r2()

        r3()

您也可以稍后更改參數(shù)。例如:


ff[1][2]["par21"]="december"


new_kw_func02= dict(par43=(1+2i), par21='december'])

ff[1][2]= new_kw_func02


new_pargs_func03=[10,20,"World"]

ff[2][1]= new_pargs_func03


查看完整回答
反對(duì) 回復(fù) 2021-09-11
?
森欄

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊

看看contextlib 模塊。非?;镜睦?/p>


from contextlib import ContextDecorator


def front1():

    print('print from front1')


def front2():

    print('print from front2')


def front3():

    print('print from front3')



def rear1():

    print('print from rear1')


def rear2():

    print('print from rear2')


def rear3():

    print('print from rear3')


class mycontext(ContextDecorator):

    def __enter__(self):

        front1()

        front2()

        front3()

        return self


    def __exit__(self, *exc):

        rear1()

        rear2()

        rear3()

        return False


@mycontext()

def foo():

    print('print from foo')


@mycontext()

def bar():

    print('print from bar')


if __name__ == '__main__':

    foo()

    bar()


    # or as alternative

    # my_funcs = [foo, bar]

    # for func in my_funcs:

        # func()

輸出


print from front1

print from front2

print from front3

print from foo

print from rear1

print from rear2

print from rear3

print from front1

print from front2

print from front3

print from bar

print from rear1

print from rear2

print from rear3


查看完整回答
反對(duì) 回復(fù) 2021-09-11
  • 3 回答
  • 0 關(guān)注
  • 224 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)