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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

python函數(shù)問(wèn)題,個(gè)人突然覺得C語(yǔ)言類型檢查很有用

任務(wù)

首先請(qǐng)定義一個(gè) square_of_sum 函數(shù),它接受一個(gè)list,返回list中每個(gè)元素平方的和。

我的代碼:

def square_of_sum(L):

? ? sum = 0

? ? for x in L:

? ? ? ? sum = sum + x*x

? ? ? ? return sum

print square_of_sum([1, 2, 3, 4, 5])

print square_of_sum([-5, 0, 5, 15, 25])


完美結(jié)果,正確了。但是引發(fā)我的思考。這里參數(shù)L應(yīng)該就是一個(gè)普通變量,于是我把代碼改成

def square_of_sum(L):

? ? if L>=0:

? ? ? ? return L

? ? else:

? ? ? ? return -L

print square_of_sum(-6)


結(jié)果為6,驗(yàn)證了我的想法。

于是我又仔細(xì)看了第一次函數(shù)的代碼,發(fā)現(xiàn)從這里無(wú)法判斷L是不是List,也有可能是set,tuple.

我于是又寫了下面代碼

def square_of_sum(L): ??

? ? sum = 0

? ? for x in L:

? ? ? ? sum = sum + x*x

? ? return sum

print square_of_sum((1, 2, 3, 4, 5))

print square_of_sum((-5, 0, 5, 15, 25))

結(jié)果正確


def square_of_sum(L): ??

? ? sum = 0

? ? for x in L:

? ? ? ? sum = sum + x*x

? ? return sum

print square_of_sum(set([1, 2, 3, 4, 5]))

print square_of_sum(set([-5, 0, 5, 15, 25]))

結(jié)果正確


所以我明白了,剛才為了完成任務(wù)的函數(shù)代碼,參數(shù)其實(shí)可以為3個(gè)。可以從函數(shù)塊代碼看出來(lái)(只能從這看出來(lái)函數(shù)參數(shù)的類型)


這里只說(shuō)要List為參數(shù),但是多了2個(gè)類型的參數(shù)。

假如我寫了一個(gè)函數(shù)只能接受一個(gè)類型的參數(shù),接受其它類型的參數(shù)返回結(jié)果就不是預(yù)期的了。剛好這個(gè)函數(shù)也可以接受其它參數(shù),但是代碼中不會(huì)報(bào)錯(cuò),這樣程序就會(huì)出現(xiàn)問(wèn)題啊,所以我覺得C語(yǔ)言類型檢查是很用的。




正在回答

2 回答

python里面也有類型檢查的呀,比如你可以在square_of_sum()中定義一下:

if isinstance(L, list): do something,就會(huì)只在L為list類型參數(shù)時(shí)觸發(fā)了

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕瓜5474458 提問(wèn)者

非常感謝!
2016-08-10 回復(fù) 有任何疑惑可以回復(fù)我~

謝謝,但是如果傳其它參數(shù),不是list,難道要寫報(bào)錯(cuò)代碼?這樣就麻煩了,語(yǔ)言的機(jī)制是沒(méi)有類型檢查的

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
初識(shí)Python
  • 參與學(xué)習(xí)       758364    人
  • 解答問(wèn)題       8967    個(gè)

學(xué)python入門視頻教程,讓你快速入門并能編寫簡(jiǎn)單的Python程序

進(jìn)入課程

python函數(shù)問(wèn)題,個(gè)人突然覺得C語(yǔ)言類型檢查很有用

我要回答 關(guān)注問(wèn)題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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