昨天呢,我們了解了函數的建立,調用,參數(實參,形參),作用域,以及把局部變量,轉變為全局變量的關鍵字的使用(global),不知道,小夥伴們有沒有掌握好呢,沒有學習的,要抓緊了!
今天呢,我們接着來說說,函數的傳回值,作用域鍊及其剩餘的問題吧
函數的傳回值:
有的小夥伴就問了,為什麼要有傳回值呢,其實呢,這個問題,你可以這麼了解,當函數運作完代碼塊,得到一個結果,往往我們還想用這個結果用于計算或者其他用途,那怎麼拿到這個結果來使用呢,那就有了傳回值,看圖說話:
是以呢,使用return 得到傳回值,就非常重要了。接着看吧。
函數的傳回值,有三種情況:
下面,我們就詳細的說說,三種情況的使用場景以及方式和差別吧。
1、 沒有傳回值
(1)不寫return的情況下,是沒有傳回值的,呃,有點廢話啊,還是看看吧。
(2)隻寫return的,後面并沒有要傳回的值,那也是不能用這個值參與運算的。
有#,有人說赤水大瀑布比黃果樹更美,我說洞深十丈鎖雲煙,美人如玉瀑如虹你說,這瀑布是不是美的跟假的似的?[酷]#了也沒有,那和不寫有差別嗎,其實,有return的地方,後面的代碼是不執行的
有人說,寫了也沒有,那和不寫有差別嗎?其實,有return的地方,後面的代碼是不執行的。比如:當輸出"賈老闆"的時,停止執行代碼,我們可以這麼寫。
上面的圖,我們可以看到,有了return,後面的代碼不執行了。是以呢,隻寫return,是結束了一個函數,在沒有傳回值的情況下,預設傳回值是 NONE;
呃 寫與不寫,還是有點差別的吧,嘚瑟。(請自動對比 break)
2、 一個傳回值
傳回的是數字,是可以的,比如
當然了,除了傳回值是數字,那麼可不可以是字元串,清單,字典呢。當然是可以的了,記住兩點:
一是,可以傳回任何資料類型。
二是,隻要傳回了,就可以接收到。
大家可以試試,傳回其他資料類型。
注意:如果在一個程式中有多個return,那麼隻執行第一個。
3、 多個傳回值
多個傳回值用多個變量接收,有多少傳回值,就用多少變量接收,不能多也不能少。
傳回多個值,用一個變量接收,得到的是一個元祖。
元祖是可以解包的,當然,清單,字典也是可以的。
以上是對傳回值的叙述,一起學習哦,喜歡的可以關注哦