return語句用於退出函數的,向調用方返回一個表達式。python
return在不帶參數的狀況下(或者沒有寫return語句),默認返回None。函數
None是一個特殊的值,它的數據類型是NoneType。NoneType是Python的特殊類型,它只有一個取值None。 它不支持任何運算也沒有任何內建方法,和任何其餘的數據類型比較是否相等時永遠返回false,也能夠將None賦值給任何變量。。。url
1》當函數沒有顯式return,默認返回None值code
2》當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是Noneorm
當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是None遞歸
當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是Noneip
def parse_url(self, url, *args, **kwargs): """處理URL請求""" proxies = {'https': re.sub("http","https",self.get_ip.get_proxies())} print(proxies) try: response = self.parse.get(url, headers=self.headers, proxies=proxies, timeout=5) except: return self.parse_url(url) #<----這裏,報錯的話實現遞歸操做了,須要return else: # print(response.text) if str(response.status_code) != "200": return self.parse_url(url) #<----這裏,知足條件的話實現遞歸操做了,須要return elif str(response.status_code) == "200" and "抱歉!頁面沒法訪問" in response.text: return self.parse_url(url) #<----這裏,知足條件的話實現遞歸操做了,須要return else: print("這裏是內部response {}".format(response)) return response # < --- 最後返回的值!!
必須注意的是!!!當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是None 當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是None 當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是None 當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是None 當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是None 當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是None 當遞歸函數有return時,在遞歸的地方也要return,否則永遠返回的是Noneget