真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python高級(jí)進(jìn)階之無(wú)參數(shù),有參數(shù),可變參數(shù)的裝飾器的應(yīng)用

請(qǐng)看下 無(wú)參數(shù)的裝飾器

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的新野網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

如下:

def test(func):

print("test")

def test_in():

print("testing")

return "test "+func()+" test"

return test_in

def test01(func):

print("test01")

def test_in():

print("testing_01")

return "test01 "+func()+" test01"

return test_in

@test

@test01

def f1():

print("---f1----")

return "hello_word"

print(f1())

請(qǐng)看有兩個(gè)參數(shù)的

def test(func):

print("test")

def test_in():

print("testing")

return "test "+func()+" test"

return test_in

@test

def f1(a,b):

print("---f1----")

return "hello_word"

print(f1(2,3)) # 傳入兩個(gè)參數(shù)

拋錯(cuò)如下:

File "D:/works/Unittest/test.py", line 14, in

print(f1(2,3))

TypeError: test_in() takes 0 positional arguments but 2 were given

理解下 為什么會(huì)拋錯(cuò)

@ test 意思就是 f1=test(f1) , f1 指向是 test_in 函數(shù)體

在執(zhí)行 f1(2,3) 的時(shí)候 要執(zhí)行 test_in 函數(shù)體, 但是test_in 沒(méi)有地方接受參數(shù), 所以要報(bào)錯(cuò)

下邊我們添加上 繼續(xù)執(zhí)行看看結(jié)果如何:

def test(func):

print("test")

def test_in(a,b):

print("testing")

return "test "+func()+" test"

return test_in

@test

def f1(a,b):

print("---f1----")

return "hello_word"

print(f1(2,3))

報(bào)錯(cuò)如下:

File "D:/works/Unittest/test.py", line 14, in

print(f1(2,3))

File "D:/works/Unittest/test.py", line 5, in test_in

return "test "+func()+" test"

TypeError: f1() missing 2 required positional arguments: 'a' and 'b'

解釋如下:無(wú)錫婦科醫(yī)院排名 http://www.csfk0731.com/

在執(zhí)行test_in 函數(shù)體的時(shí)候, 發(fā)現(xiàn)有個(gè) func(), 它的指向 就是 f1(a,b) , 它是需要兩個(gè)參數(shù)的, 但是找不到,就會(huì)報(bào)錯(cuò)

改下 再執(zhí)行就不會(huì)報(bào)錯(cuò)了

def test(func):

print("test")

def test_in(a,b):

print("testing")

return "test "+func(a,b)+" test"

return test_in

@test

def f1(a,b):

print("---f1----")

return "hello_word"

print(f1(2,3))

3. 可變參數(shù)

修改如下 就可以隨便傳遞參數(shù)。

def test(func):

print("test")

def test_in(*args,**kargs):

print("testing")

return "test "+str(func(*args,**kargs))+" test"

return test_in

@test

def f1(a,b):

print("---f1----")

return a+b

@test

def f2(a,b,c,d):

return(a+b+c+d)

print(f1(5,9))

print(f2(1,3,4,5))


本文題目:python高級(jí)進(jìn)階之無(wú)參數(shù),有參數(shù),可變參數(shù)的裝飾器的應(yīng)用
文章轉(zhuǎn)載:http://weahome.cn/article/igjhpd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部