<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          送書福利!成為編碼藝術家?聽說過Python“一行流”嗎

          共 5165字,需瀏覽 11分鐘

           ·

          2021-10-18 23:23

          所謂一行流,就是把一個功能用一行代碼去實現(xiàn)。Python的一行流既保證了代碼的簡潔,又不會犧牲很大的可讀性。但一個看似如此簡單的事情,如果不徹底掌握這門編程語言,是很難做到的。

          我認為,Python 一行流能夠幫助你提高編碼技能,值得去學習,其原因還有下面五個。


          ◎?首先,通過提升你對 Python 核心技術的認知,可以克服許多一直在拖你后腿的編程弱點。沒有對基礎知識的深入理解,很難取得進步。單行代碼是所有程序的基礎構件,徹底理解這些基本構件之后,你才有能力駕馭高階的復雜程序,而不會感到不知所措。

          ◎?其次,你會學到如何利用當今正瘋狂流行的熱門 Python 庫,比如數(shù)據(jù)科學和機器學習用到的那些庫。本書由五個介紹單行技術的章節(jié)組成,每個都涉及 Python 的不同領域,從正則表達式到機器學習。這種方式會讓你對你可以構建的 Python 應用有一個概覽,同時也會教你如何使用這些強大的庫。

          ◎?第三,你會學到怎樣寫出更加“Pythonic”的代碼。Python 初學者,尤其是從其他編程語言過來的人,經(jīng)常會用不 Pythonic 的方式去編寫代碼。我們會涵蓋 Python 特有的一些概念,諸如列表解析、多重賦值、切片等,所有這些都會幫你寫出可讀性高、便于跟相同領域的程序員共享的代碼。

          ◎?第四,學習 Python 單行技術,會迫使你用簡潔、清晰的方式去思考。若你不得不把每個代碼字符都利用到極致,就沒有空間去容納那些稀稀拉拉、不明重點的代碼了。

          ◎?第五,你的單行代碼新技能使你能夠看穿那些設計過于復雜的 Python 代碼庫,并讓你的朋友和面試官留下深刻印象。你可能會發(fā)現(xiàn),用一行代碼解決具有挑戰(zhàn)性的編程問題,既好玩,效果又令人滿意。而且你不是一個人:一個活躍的 Python 極客社群一直在競爭誰能寫出最簡短、最 Pythonic 的代碼來解決各種各樣的實際(或不太實際的)問題。

          Python一行流的例子

          學習 Python 單行技術既是理解更高級代碼庫的基礎,也是提升自身技能的絕佳工具。在理解幾千行代碼組成的代碼庫到底寫了些什么之前,必須先了解一行代碼的含義。

          讓我們先來快速看一眼 Python 一行流。

          q = lambda l: q(u[x for x in l[1:] if x <= l[0]]) + [l[0]] + q([x for x in l if x > l[0]]) if l else []


          這個單行程序?qū)χ目焖倥判蛩惴ㄗ隽藘?yōu)美而簡潔的壓縮,不過對于很多初級或中級的 Python 使用者來說,其具體含義可能還難以掌握。

          Python 單行程序經(jīng)常是在已有基礎上搭建而成的,所以在后面中出現(xiàn)的單行程序,復雜度會逐漸增加。我們將從簡單的單行程序開始,這些簡單的語句將成為之后更加復雜的程序的基礎。比如說,前面的一行流快速排序基于列表解析,但看起來又長又難。下面是一個比較簡單的列表解析,用于創(chuàng)建一個平方數(shù)的列表。

          lst = [x**2 for x in range(10)]

          我們還可以把這個單行程序分解成更簡單的單行,用于介紹重要的 Python 基礎知識,如變量賦值、數(shù)學運算符、數(shù)據(jù)結構、for循環(huán),成員運算符,以及 range() 函數(shù)——所有這些都出現(xiàn)在一行簡單的 Python 程序中!

          要知道,基礎,并不意味著瑣碎或不重要。我們即將見到的所有單行程序都很有用,而且每章會針對計算機科學中的一個獨立學科或領域,讓你從一個寬闊的視野全面了解 Python 的力量。

          關于可讀性的說明


          《Python 之禪》(The Zen of Python)中包含了 Python 編程語言的19條指導原則。可以通過在 Python 命令行里輸入 import this 來閱讀它:

          >>> import thisThe Zen of Python, by Tim Peters
          Beautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense. Readability counts.--下略--


          如《Python之禪》所言,“可讀性很重要(Readability counts)”,單行程序是解決問題的最小化方案,在很多情況下,將一段代碼改寫為 Python 單行程序會提升可讀性,并使得代碼更加 Pythonic。例如使用列表解析將創(chuàng)建列表的代碼縮短到只有一行。請看下面的例子:

          # BEFORE squares = []
          for i in range(10): squares.append(i**2)
          print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

          在這個代碼片段中,我們需要五行代碼來生成頭10個平方數(shù)的列表,并把它打印到命令行。但如果使用更佳的單行解決方案,就能以一種更易讀和簡明的方式做到同樣的事情:

          # AFTERprint([i**2 for i in range(10)])# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

          輸出是完全一樣的,但單行程序是基于更加 Pythonic 的概念列表解析來構建的,可讀性更高,也更簡潔。

          然而,Python一行流也可能寫得難以理解。在有些情況下,編寫單行程序的解決方案,并不會讓程序更加可讀。但是,正如象棋大師會在動棋之前了解所有可能的行動方案,并決定何為最佳,你也需要了解所有可以表達你的想法的編碼方式,如此才能從中選擇最好的方式。追求最優(yōu)美的解決方案不是一件低優(yōu)先級的事情,而是 Python 生態(tài)系統(tǒng)的核心。正如《Python 之禪》所教導的:“優(yōu)美勝于丑陋?!?/span>

          編碼能力卡住了?這本書獲取可以幫助到你。


          你是一位初級到中級的 Python 編碼者嗎?跟很多處于同樣位置的人一樣,你也許在編碼能力進展上有點卡住了。你已經(jīng)讀了很多在線編程教程,也編寫過自己的源代碼,并成功地交付了一些小項目。你已經(jīng)完成了一門基礎編程課程,并且學過一兩本編程教材。也許你還在大學里修過一門程序技術課程,在那里已學到了計算機科學與編程的基礎知識。

          你也許會受某些信念所限,比如大多數(shù)程序員理解源碼的速度比你理解的快得多,或者你與前10%?的程序員差距太大。如果你希望達到高級編碼水平,加入頂尖編碼專家的行列,那么需要學習新的適應性技能。

          小編很有同感,因為十年前剛開始學習計算機科學的時候,也覺得自己在編程上一無所知,并為此苦惱。而與此同時,我所有的同僚看起來都精通編程,且頗具經(jīng)驗。

          借助本書,希望幫助你們克服這些限制自我的想法,讓你們朝著成為 Python 專家的方向更進一步。


          你會學到什么?


          下面是你會學到的內(nèi)容的概述。

          1 ?Python溫故知新??介紹 Python 的基礎知識,讓你重新檢視自己的 Python 知識。

          2 ?Python技巧 ?包括10個一行流技巧,幫助你熟練掌握基本知識,例如列表解析、文件輸入、lambda函數(shù)、map()和zip()、all()量詞、切片,以及基礎的列表運算。你還會學到如何引入和操作各種數(shù)據(jù)結構,利用它們來解決各種各樣的日常問題。

          3 ?數(shù)據(jù)科學 ?包含了數(shù)據(jù)科學方面的10個一行流程序,全部基于 NumPy 庫構建。NumPy 處于 Python 強大的機器學習和數(shù)據(jù)科學能力的核心,你將會學到基本的 NumPy 知識,如數(shù)組、形狀、軸、類型、廣播、高級索引、切片、排序、搜索、聚合與統(tǒng)計。

          4 ?機器學習??涵蓋了使用 Python 的 scikit-learn 庫進行機器學習的10個一行流程序,會涉及值預測的回歸算法,這些算法的例子包括線性回歸、K-近鄰算法和神經(jīng)網(wǎng)絡。你也會學到分類算法,比如邏輯回歸、決策樹學習、支持向量機和隨機森林。此外,還會學習如何計算多維數(shù)據(jù)陣列的基本統(tǒng)計數(shù)據(jù),以及用于無監(jiān)督學習的 K-Means 算法,這些都是機器學習領域最為重要的算法與范式。

          5 ?正則表達式??包含10個一行流程序,幫助你用正則表達式實現(xiàn)更多的目標。你會學到各種基本的正則表達式,并把它們組合(然后再組合)以創(chuàng)建更加高級的正則表達式,還會學習如何使用分組和命名組、反向查找、轉(zhuǎn)義字符、空白字符、字符集(以及反向字符集)和貪婪/非貪婪運算符。

          6 ?算法 ?包含了10個一行流算法程序,涉及廣泛的計算機科學主題,包括擬合、回文、超集、換元、階乘、質(zhì)數(shù)、斐波那契數(shù)列、混淆、搜索和基于算法的排序。其中許多內(nèi)容將構成更高級算法的基礎,是進入全面系統(tǒng)的算法學習的良好導引。

          后記 ?總結全書,讓你帶著升級后的全新 Python 編程技能,去面對真實世界的考驗。


          ▊《Python一行流:像專家一樣寫代碼

          關于作者

          克里斯蒂安·邁耶(Christian Mayer)是一位計算機科學博士,也是知名 Python 網(wǎng)站finxter(網(wǎng)址見鏈接列表“文前3”條目)創(chuàng)始人和維護者。該網(wǎng)站非?;钴S,內(nèi)容訂閱人數(shù)已經(jīng)超過2萬且仍在持續(xù)增長。他的網(wǎng)站不僅發(fā)展迅速,也幫助數(shù)以萬計的學習者提升了編碼技能和優(yōu)化在線業(yè)務??死锼沟侔餐瑫r也是《Python咖啡時間》(Coffee Break Python)系列自出版圖書的作者。

          關于譯者

          蘇丹,網(wǎng)上id一般為su27,2009年畢業(yè)于北京師范大學數(shù)學系,主要從事后端編程工作,也曾從事前端與客戶端開發(fā)工作。在Python的“黃埔軍?!倍拱陥F隊中成長,目前為豆瓣用戶產(chǎn)品后端負責人,日常跟Python打交道較多。

          《Python一行流》會教你閱讀和編寫一行流程序,系統(tǒng)性拆分和理解任意一行Python代碼,像專家一樣得心應手地編寫強壯、緊湊的Python程序。本書有5個章節(jié),覆蓋了編程技巧、正則表達式、機器學習、數(shù)據(jù)科學的核心課題,以及許多有用的算法。通過對單行程序范例的詳細介紹,本書解釋了計算機科學的關鍵概念,并可用來提升編碼與分析的重要技能。你會學到Python的進階功能,例如列表解析、切片、lambda函數(shù)、正則表達式、map和reduce函數(shù),以及切片賦值等。


          (京東滿限時49元包郵,速搶)






          以上的圖書,我們會送出5本,也會在月底福利大家。我們會在月底公布名單,選出Top10位常來留言區(qū)指導工作并入精選留言的粉絲,再次感謝小伙伴的一路相隨。


          推薦閱讀:

          入門:?最全的零基礎學Python的問題? |?零基礎學了8個月的Python??|?實戰(zhàn)項目?|學Python就是這條捷徑


          量化:?定投基金到底能賺多少錢?? |?我用Python對去年800只基金的數(shù)據(jù)分析??


          干貨:爬取豆瓣短評,電影《后來的我們》?|?38年NBA最佳球員分析?|? ?從萬眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個海量小姐姐素描圖?|碟中諜這么火,我用機器學習做個迷你推薦系統(tǒng)電影


          趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲!


          AI:?會做詩的機器人?|?給圖片上色?|?預測收入?|?碟中諜這么火,我用機器學習做個迷你推薦系統(tǒng)電影


          小工具:?Pdf轉(zhuǎn)Word,輕松搞定表格和水??!?|?一鍵把html網(wǎng)頁保存為pdf!|??再見PDF提取收費!?|?用90行代碼打造最強PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換?|?制作一款釘釘?shù)蛢r機票提示器!?|60行代碼做了一個語音壁紙切換器天天看小姐姐!


          年度爆款文案

          瀏覽 27
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91社区成人影院 | 欧美成人一级片 | 国内自拍第一区二区三区 | 国产美女做爱A片是免费 | 欧美亚洲性爱在线 |