我們一起來聊聊python函數返回值的特殊情況,之前我也碰到過類似方面的問題,到后來查閱了一些資料后,發現原來是這樣。
首先,寫函數的時候,一定要寫函數的文檔,這樣方便我們識別函數是做什么的。我記得很久以前和大家聊過python列表操作方法,python列表非常的強大,提供了很多內置的方法使得你可以通過python的列表結構和操作做很多你想要的事情,我記得它里面有一些方法,比如append,還有sort方法,這幾個方法應該在你的程序里時不時會出現吧,可見頻率之高!我當時開始學習的話,用這2個列表方法的話,我是按照下面的方式來用的:
a = [1,5,11,2] x = a.append('b')
y = a.sort()
我當時學python的時候也許是受其它語言的影響,認為只要是函數的話,就有返回值,應該就可以返回一些想要的結果,其實你自己在編輯器里運行 上面的方法的話,輸出的結果不會是你想要的,而是一片空白!呵呵。原因在哪呢?
原來python的有些內置方法是不返回具體的內容的,而是返回一個None。
這個就是今天我想說的一個話題,return在python函數里面是可選的,當一個函數無法准確的返回值時,函數就會運行到最后然后退出,也就是說所有的函數都有返回值,如果你不提供返回值的話,函數默認返回一個None。
append,sort等方法應該就屬於這個情況,所以大家以后碰到函數返回值輸出空白的話,那就要想想是不是返回None,而只是你原來的變量被原地的改變了。