日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

可讀性的驚人 Python/ target=_blank class=infotextkey>Python 代碼片段


 

Python 是一種通用編程語言,可用于構建任何規模的項目,并為開發人員提供編寫邏輯清晰代碼的條件——即使是大型項目。

Python 的設計理念通過強制使用縮進來顯式定義代碼塊來促進代碼的可讀性。但是,僅僅擁有良好縮進的代碼并不一定意味著您的代碼也清晰且編寫良好。

“可讀性很重要。” — Python之禪


與大多數其他通用編程語言相比,Python 的最大優勢之一是它不那么冗長。不過,為了簡潔而犧牲代碼的可讀性絕不是一個好主意。在許多情況下,單線可能弊大于利。試圖通過將(復雜的)語句放在一起來減少代碼行數實際上會破壞代碼的可讀性。

話雖如此,單行代碼還可以幫助您保持代碼整潔并使其看起來更加 Pythonic。在本文中,我們將探討一些這樣的案例,并了解如何在常見的編程結構中使用有用的單行代碼。

1.合并字典

從 Python 3.9 開始,您只需使用|運算符即可合并字典:


 

dict1 = {'a': 1, 'b': 2}dict2 = {'b': 3, 'c': 4, 'd': 5}dict1 | dict2按備用鍵排序

有時,我們需要通過備用鍵對元素列表進行排序


 

sorted([-5, -1, 2, 3, 4], key=lambda x: abs(x))展開列表中的列表

當我們需要展開列表中的列表時。列表迭代應該可以解決問題:


 

nested_lists = [[1, 2], [3, 4, 5], [6]][item for inner_list in nested_lists for item in inner_list]交換變量

在大多數編程語言中,為了交換兩個變量的值,我們需要引入第三個臨時變量。在 Python 中,這可以通過單行來實現


 

a = 10b = 20a, b = b, aprint(a,b)為多個變量賦值


 

a, b, c = 10, False, 'Hello World'打開文件

與文件等資源進行交互是日常編程中的常見任務。一個典型的用例是當我們需要讀取文件的內容時。您可以使用上下文管理器,而不是花費時間和代碼行來與資源交互并捕獲錯誤,如下所示。

Python 中的上下文管理器是一個定義運行時上下文并在進入上下文之前和退出上下文之后實現特定功能的對象。

該with語句將打開文件并在運行時上下文終止后(或出現問題時)自動關閉它:


 

with open('file.txt','r') as f:content = f.readlines()多格式輸出字符串


 

>>> n_processes = 1>>> f"{n_processes} process{' is' if n_processes == 1 else 'es are'} running"'1 process is running'>>> n_processes = 2>>> f"{ n_processes} process{' is' if n_processes == 1 else 'es are'} running"Lambda 函數

Lambda 函數是單表達式匿名函數。它們可以幫助您編寫簡潔的內聯函數


 

>>> circle_area = lambda r: math.pi * (r ** 2)>>> circle_area(10)map函數

我們經常需要對一組元素應用一個函數,這正是這樣map()函數做的事情


 

>>> nums = [1, 2, 3, 4, 5]>>> nums_squared = list(map(lambda n: n**2, nums))>>> nums_squared[1, 4, 9, 16, 25 ]計算累計和

itertools.accumulate()如果需要計算數值的累積/運行總和,這是一個完美的函數。


 

>>> import itertools>>> list(itertools.accumulate([1, 2, 3, 4, 5]))[1, 3, 6, 10, 15]列表、集合和字典推導

列表、集合或字典推導可以幫助您編寫更清晰、更 Pythonic 的代碼。可以僅在一行中使用推導式,而不是使用傳統的循環。

例如,為了過濾列表,可以使用以下約定:


 

>>> numbers = [1, 2, 3, 4, 5]>>> [num for num in numbers if num > 3][4, 5]

感謝閱讀,hAppy code!

分享到:
標簽:Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定