python中,如圖,為啥上面的打印為none?下面的卻能打印出來?

python中,如圖,為啥上面的打印為none?下面的卻能打印出來?

答: 上面和下面都定義了一個(gè)函數(shù),函數(shù)里面又定義了一個(gè)函數(shù),如上。如下劃線所示,它只是調(diào)用了函數(shù)c,內(nèi)部函數(shù)c返回b的值。

但是并沒有把這個(gè)值返回出去。精選百科

所以你在打印的時(shí)候不會(huì)有這個(gè)結(jié)果,只會(huì)返回None。

希望能夠幫助到你。

請(qǐng)教python,這個(gè)程序的輸出結(jié)果為啥是10 none?互聯(lián)生活

python函數(shù)參數(shù)為None的時(shí)候,比如 def req(self, b=None),是因?yàn)檫@個(gè)函數(shù)是一個(gè)封裝函數(shù),在沒有調(diào)用他的時(shí)候他的參數(shù)需要加上None。如果不加None值,不調(diào)用函數(shù)他會(huì)報(bào)錯(cuò)。

一般會(huì)用在封裝類或者框架里。

比如說框架一般會(huì)有一個(gè)總的調(diào)用函數(shù),總的調(diào)用函數(shù)啟動(dòng),這次沒有獲取到值,執(zhí)行到req函數(shù)時(shí)無法給req函數(shù)參數(shù),那如果沒有參數(shù)req函數(shù)就會(huì)報(bào)錯(cuò)。一般會(huì)報(bào):‘req() missing 1 required positional argument: \’b\’’但是如果參數(shù)為None就不會(huì)報(bào)錯(cuò)。如果程序執(zhí)行到req參數(shù)傳遞成功的話,參數(shù)就不會(huì)是None了。 所以None是一個(gè)防止報(bào)錯(cuò)的機(jī)制。

知識(shí)

Python打印print返回值為None是怎么回事?

列表的reverse方**反轉(zhuǎn)列表并返回None,圖中打印的是reverse的返回值。