Python減少循環(huán)層次和縮進的技巧分析
本文實例分析了Python減少循環(huán)層次和縮進的技巧。分享給大家供大家參考,具體如下:
我們知道Python中冒號和縮進代表大括號,這樣寫已經(jīng)可以節(jié)省很多代碼行數(shù),但是可以更優(yōu)化,盡可能減少循環(huán)的層次和縮進,讓代碼看起來更簡潔,邏輯更清楚。不僅Python語言如此,其他語言也一樣。
如圖,是兩段Python代碼,前后兩段要實現(xiàn)的功能是一樣的,但是第二段明顯可讀性更好,邏輯更佳清晰。在很多循環(huán)嵌套的時候,其實可以用“逆向思維”,用continue跳出不符合條件的循環(huán),而不是成立的時候繼續(xù)執(zhí)行,這樣只會不斷加深循環(huán)的層次。
下面是圖示中的Python代碼:
"""優(yōu)化前""" for item in items: if is_for_sale(item): cost = compute_cost(item) if cost <= wallet.money: buy(item) """優(yōu)化后""" for item in items: if not is_for_sale(item): continue cost = compute_cost(item) if cost > wallet.money: continue buy(item)
這樣做減少了循環(huán)嵌套的層次,使可讀性和邏輯性更直觀,也沒有那么多縮進。
轉(zhuǎn)自:小談博客 http://www.tantengvip.com/2015/05/python-for-level/
希望本文所述對大家Python程序設計有所幫助。
相關文章
Python?中?Selenium?的?send_keys()?函數(shù)用法小結(jié)
send_keys() 是將數(shù)字、文本和符號等鍵盤輸入發(fā)送到應用程序的文本框的過程, send_keys() 是 WebDriver 的一部分,每個鍵盤輸入都會發(fā)送到此元素,這篇文章主要介紹了Python?中?Selenium?的?send_keys()?函數(shù),需要的朋友可以參考下2023-11-11基于Python中capitalize()與title()的區(qū)別詳解
下面小編就為大家分享一篇基于Python中capitalize()與title()的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12用python介紹4種常用的單鏈表翻轉(zhuǎn)的方法小結(jié)
這篇文章主要介紹了用python介紹4種常用的單鏈表翻轉(zhuǎn)的方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02python中opencv K均值聚類的實現(xiàn)示例
本文主要介紹了python中opencv K均值聚類的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06Python Charles抓包配置實現(xiàn)流程圖解
這篇文章主要介紹了Python Charles抓包實現(xiàn)流程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09python+selenium的web自動化上傳操作的實現(xiàn)
這篇文章主要介紹了python+selenium的web自動化上傳操作的實現(xiàn),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-08-08