python 有哪些優雅的代碼實現 ?

來源:互聯網
上載者:User
python 有哪些優雅的代碼實現 ?以前在一篇部落格中學習過。記得這是有一個統一的名稱的。不過忘了

舉個常用的例子 [i for i in list if not…… ]。


這種代碼寫的很爽,但感覺自己掌握的不全。所以特來問一下

回複內容:

Intermediate Python
看這個文檔,爽溜溜的各種技巧
generators,map,reduce,lambda ,decorators, *args等等
各種優雅~所謂優雅,其實是由於這門語言的文法糖很甜,給(之前沒有接觸過的)人造成了一種“臥槽,好厲害”的錯覺,其實很多情況下其他語言也可以,只不過可能實現起來不這麼“優雅”而已。

這裡簡單介紹一點Python“優雅”的代碼和這顆糖的名字,至於這顆糖的更深層次的東西,這裡一律略過。


首先是lambda運算式。lambda運算式是一種非常簡潔的定義函數的形式,不過一般不推薦寫lambda運算式。比如求兩個數的和,通過定義函數的寫法為:
def add(x, y):    return x + y
1. map、reduce、filter三兄弟和lambda匿名函數,拯救緩慢的for迴圈(然而其實也並沒有特別快),偽裝函數式語言(然而實際上還是OO),並且[嗶]

2. yield大法好,generator大法好。

3. try else,for else,while else……

4. monkey patch大法好,模組封裝好了不想改模組本身但是又必須做修改?靠這個了……

5. 裝飾器大法好……

6. 列表解析大法好……

似乎能『優雅』的主要都在這幾個點上,有空了我會補一點例子。然而任何一點用太多其實都會惹人厭,所以說PEP告訴你一行不要太長是有道理的……樓上都說了一些很好用、很實用的。補充一個 functools 包,裡面的函數你用一次,就會徹底愛上。從問題來看,題主python都還不熟,更別提優雅的代碼實現了,還有樓上的回答,基本都是那幾個函數式編程的工具,推薦《python cookbook》,樓上說的和題主問的都涵蓋了,對著書敲一遍吧。不同人群寫
Python的階乘函數

1 . 普通青年

def f(n):    if n == 1:        return 1    return n * f(n - 1)
a, b = b, a
讀讀 Python documentation 裡的 The Python Language Reference 你就明白了,這都是很一般的寫法。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.