官术网_书友最值得收藏!

6.14 疑難解惑

疑問1:用戶自定義函數(shù)的命名空間是怎么回事?

用戶自定義函數(shù)擁有自己的命名空間。當(dāng)用戶定義一個(gè)函數(shù)后,Python會(huì)為這個(gè)新函數(shù)創(chuàng)建一個(gè)屬于它自己的局部命名空間。

這個(gè)新的局部命名空間內(nèi)包含該函數(shù)所有的參數(shù)與變量。因此,當(dāng)用戶在該函數(shù)內(nèi)用到某一個(gè)參數(shù)或變量時(shí),Python會(huì)先搜索該函數(shù)的局部命名空間。如果在該局部命名空間內(nèi)找不到,Python就會(huì)到全局命名空間內(nèi)進(jìn)行搜索。

所謂全局命名空間,就是指該函數(shù)所在模塊的命名空間。如果在全局命名空間內(nèi)也找不到所要找的參數(shù)或變量時(shí),Python就會(huì)繼續(xù)搜索系統(tǒng)的內(nèi)置命名空間。最后如果還是找不到,Python就會(huì)輸出一個(gè)NameError異常。

疑問2:len()、count()和sum()三個(gè)計(jì)算函數(shù)有什么區(qū)別?

(1)len()函數(shù)返回的是對(duì)象的長度。例如len([1,2,3,4,5,6]),返回值是6。

(2)count()函數(shù)計(jì)算包含對(duì)象的個(gè)數(shù)。例如[1,2,2,2,2,6].count(2),返回值是4。

(3)sum()函數(shù)是做一個(gè)和運(yùn)算。例如sum([1,2,3,4,5]),返回值是15。

主站蜘蛛池模板: 得荣县| 上栗县| 新晃| 望谟县| 崇文区| 大竹县| 乐至县| 托克逊县| 鸡泽县| 环江| 扎囊县| 满城县| 麦盖提县| 巴彦县| 潜山县| 天祝| 巫溪县| 乐东| 嘉兴市| 吉首市| 承德县| 屏边| 灯塔市| 武威市| 通州区| 衡水市| 奉化市| 文登市| 皮山县| 宁明县| 衡阳县| 鹿泉市| 商城县| 萝北县| 西充县| 河北区| 苏尼特左旗| 同德县| 通榆县| 依安县| 吴旗县|