成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python 函數(shù)默認(rèn)返回None原因是什么?

開發(fā) 后端
Python 函數(shù)默認(rèn)返回None是什么原因?定義的函數(shù)沒有返回值,Python 解釋器就會(huì)強(qiáng)行地默認(rèn)給注入一段返回邏輯!實(shí)際上 Python 中有很多行為都是隱性的。

 Python 函數(shù)默認(rèn)返回None是什么原因?定義的函數(shù)沒有返回值,Python 解釋器就會(huì)強(qiáng)行地默認(rèn)給注入一段返回邏輯!實(shí)際上 Python 中有很多行為都是隱性的。

[[338759]]

Python 有一項(xiàng)默認(rèn)的做法,很多編程語言都沒有,所有函數(shù)都會(huì)有一個(gè)返回值,不管有沒有寫 return 語句。

在正式開始之前,用pass語句 和 …對(duì)象 作為例子,看下 Python 的函數(shù)返回值:

 

pass語句 和 …對(duì)象

 

定義的兩個(gè)函數(shù)都沒有寫任何的 return 語句,但是在函數(shù)調(diào)用后,都能取到一個(gè)返回值。執(zhí)行效果跟直接寫 return 語句相比,是完全相同的:

 

return 語句

 

這 4 個(gè)例子屬于兩種類型:一種沒有寫 return,但是都有隱藏的 return 返回值;一種寫了 return,而且實(shí)際也有返回值。也就是說,后者在語義和行為上表現(xiàn)一致,前者雖然在語義上缺失,但是卻有實(shí)際的行為和結(jié)果;后者的行為是顯性的,前者卻是隱性的。

《Python之禪》中有一句“顯性勝于隱性(Explicit is better than implicit)”,但是,出于簡(jiǎn)潔和便利的考慮(Simple is better than complex),實(shí)際上 Python 中有很多行為都是隱性的,會(huì)把一些在語法層面的事交給解釋器去完成。

真值判斷 是隱性的行為,本文前兩個(gè)例子也是如此。

使用dis查看字節(jié)碼,就可以看到其背后的變化:

 

dis查看字節(jié)碼

 

在這個(gè)對(duì)比圖中,可以看出上述 4 個(gè)函數(shù)的解釋器指令一模一樣!

不管有沒有寫 return,它們都會(huì)執(zhí)行 return 的邏輯,而且默認(rèn)的返回值就是 None。

那么問題來了:Python 的函數(shù)為什么能默認(rèn)返回 None ?如何實(shí)現(xiàn)的?

答案就在解釋器中,當(dāng) CPython 解釋器執(zhí)行到函數(shù)的最后一個(gè)代碼塊時(shí),若發(fā)現(xiàn)沒有返回值,它就會(huì)主動(dòng)地加上一個(gè) Py_None 值返回:

 

Python 函數(shù)默認(rèn)返回 None

 

如果定義的函數(shù)沒有返回值,Python 解釋器就會(huì)(強(qiáng)行地)默認(rèn)給我們注入一段返回邏輯!

責(zé)任編輯:華軒 來源: 博學(xué)谷
相關(guān)推薦

2020-08-16 11:29:12

Python函數(shù)開發(fā)

2021-12-09 17:14:05

戴爾

2023-03-07 21:43:29

Java多重繼承

2016-09-29 15:03:24

谷歌光纖

2011-12-01 13:37:56

.NET

2010-09-28 09:33:16

2010-08-02 18:09:15

DB2實(shí)例無法啟動(dòng)

2010-07-29 17:20:27

2011-12-12 16:32:09

2025-06-05 02:25:00

2023-07-05 15:20:55

2022-04-25 08:20:22

離職公司996

2022-06-10 15:40:24

數(shù)字化轉(zhuǎn)型設(shè)備變革

2023-07-05 14:30:01

2023-09-20 11:36:47

Java 8Java 11

2010-07-27 14:12:01

DB2實(shí)例

2014-02-09 10:21:10

軟件開發(fā)

2010-07-12 14:29:09

2020-12-08 09:49:02

醫(yī)療保健數(shù)字化新冠

2021-05-02 23:36:23

蘋果手機(jī)國(guó)產(chǎn)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美一级免费看 | 亚洲美女天堂网 | 欧美久久一区二区 | 亚洲成人精品一区 | 日本成人毛片 | 日本不卡高字幕在线2019 | 欧美视频免费在线 | 日韩欧美三区 | 国产精品s色 | 亚洲欧美激情国产综合久久久 | 色精品视频| 久久久精品久久 | 欧美aaa| 日韩快播电影 | 黄色片免费看视频 | 成人小视频在线观看 | 欧美日韩a | 999精品视频在线观看 | 日韩欧美在线一区二区 | 欧美日韩91 | 久久精品中文字幕 | 99在线视频观看 | 亚洲黄色成人网 | 久久久久久一区 | 国产精品资源在线 | 亚洲精品一区二区三区 | 精品亚洲一区二区三区 | 亚洲网站在线观看 | 黄色大全免费看 | 51ⅴ精品国产91久久久久久 | 久久99久久99精品免视看婷婷 | 日韩一区二区视频 | 成年人黄色一级片 | 欧一区二区 | 欧美久久不卡 | av一区二区在线观看 | 日韩精品一区二区三区在线播放 | 国产一区二区欧美 | 日韩精品一区二区三区视频播放 | 欧美一级视频在线观看 | 免费观看黄色片视频 |