這里來給大家演示一下,函數(shù)的定義或構(gòu)造,并調(diào)用函數(shù)來實(shí)現(xiàn)封裝后的效果。
十年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站設(shè)計(jì),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站設(shè)計(jì),高端網(wǎng)頁制作,對(duì)辦公空間設(shè)計(jì)等多個(gè)領(lǐng)域,擁有多年的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn)。
首先我們來看看想實(shí)現(xiàn)下面的這個(gè)效果,如果不使用函數(shù)應(yīng)該怎么實(shí)現(xiàn)。
以上兩種返回結(jié)果都是1-9這幾個(gè)數(shù)字。
以上兩種方法,第一種代碼重復(fù)率太高,代碼美觀效果太差,雖然能實(shí)現(xiàn)效果,但是因?yàn)閿?shù)量比較少,還能手工打出來這幾行代碼,如果是打印1-100000就很難實(shí)現(xiàn)了。這時(shí)候for循環(huán)還是可以實(shí)現(xiàn)的,但是for循環(huán)只能實(shí)現(xiàn)類似的數(shù)字和變量循環(huán),無法進(jìn)行復(fù)雜的功能開發(fā)。鑒于此,函數(shù)這個(gè)概念就被python引入了,下面先來看看函數(shù)是怎么實(shí)現(xiàn)上面的效果的,還是兩種方法。
這時(shí)候如果想實(shí)現(xiàn)上面的打印結(jié)果就直接使用函數(shù)名+小括號(hào)調(diào)用函數(shù)就可以了,這種類型的語法,不僅可以反復(fù)使用,而且封裝后的代碼更美觀。
#腳本里面直接這樣寫就好了import randomdef R(): print (random.randint(1,1000))for i in range(1,10): R()
下面是一個(gè)例子,用 for 循環(huán)調(diào)用 10 次 test 函數(shù),并把返回值加到 sum 變量中:
#coding=utf-8
def?test(n):
return?n?+?1
sum?=?0
#?使用?for?循環(huán)調(diào)用?10?次?test?函數(shù)
for?i?in?range(10):
#?調(diào)用?test?函數(shù),并將返回值加到?sum?中
sum?=?sum?+?test(i)
print('sum?=?'?+?str(sum))
content是個(gè)Response對(duì)象的屬性 (有點(diǎn)類似變量), 而decode是bytes的一個(gè)方法
方法在使用(調(diào)用/執(zhí)行)的時(shí)候是需要加括號(hào)的, 如果不加括號(hào)就會(huì)返回這個(gè)方法本身(類似函數(shù)指針), 而變量/成員字段/屬性是不能加括號(hào)的(除非它實(shí)現(xiàn)了__call__()方法)