設想在初學Python(或其他語言)的時候只是去學習那20%常用的,如果再不願意去精進,那麼可能我永遠都不會有機會去了解描述符,也不會使用元類,最後成了一個以為已經會程式設計、熟悉Python的井底之蛙,所以當時我是拒絕的。
因為我希望全面的了解這個語言的能力邊界,可能一些高階特性我並不能馬上掌握,但是在未來要用的時候要知道其實它能不能做到。當我一路走來事實上卻也多次使用「等需要的時候再去看」這個技巧,一方面精力有限,一方面也是沒有一本好書把這些工作中不太常用、難以理解的進階內容整理出來。
《流暢的Python》就是這樣一本難得的Python進階書。很多新人可能不知道為什麼《流暢的Python》在圈內這麼有名氣,這是因為它是一本專門介紹那些Python語言裡面高級的,甚至獨有的特性的書,熟悉這些內容對工程師會有很大的提高。
反觀市面上充斥了大量的入門書,它們只會教你們學習那些Python官方網站就能學習到的Python的語法(這也是為什麼很多人推薦直接看官方文檔來學習),作者限於自身的技術實力,往往都會避免提及語言的本質、高階用法、獨有的觀點等,寫出來的程式碼也就更談不上Pythonic和Idiomatic了。而在《流暢的Python》裡面你可以學到了很多實踐方法、文法特性和作者的理解,最重要的是幫助你建立了正確的價值觀。
我舉幾個例子:
延伸閱讀& 雜談
每章最後都有「延伸閱讀」章節列出來一些演講PPT、影片、訪談等內容的地址、書籍相關章節等內容,讓你看書之外還有所延伸;另外「雜談」章節比較有意思,都是作者對於對應章節內容的理解與觀點,例如「使用期物處理開發」那章,他說:
我觉得 concurrent.futures 包很棒,它把线程、进程和队列视作服务的基础设置,不用自己动手直接处理。
這真的是concurrent.futures的核心特徵。希望這個包越來越被大家認可。
GIL
唉,這個話題很沉重。很多人黑Python都喜歡這一點。書中對GIL有比較深入的說明,尤其是提到了下面這句(敲黑板,各位注意了):
GIL是CPython解释器的局限,与Python语言无关。Jython和IronPython没有这种限制。
閉包
「什麼是閉包?」是非常常見的面試題目。網路上可以搜到很多部落格文章都在說它,但是我印象裡面沒有發現誰總結的比這本書更簡潔和明確:
闭包指延伸了作用域的函数,其中包含函数定义体中引用,但是不在定义体中定义的非全局变量... 它能访问定义体之外定义的非全局变量。
作者:Luciano Ramalho
#ThoughtWorks技術大拿,資深Python程式設計師,Python軟體基金會成員。 Python.pro.br(巴西一家培訓公司)的共同所有者,巴西首個眾創空間Garoa Hacker Clube聯合創始人。他曾領導多個軟體開發團隊,也曾在巴西的媒體、銀行和政府部門教授Python課程。
以上是《流暢的Python》怎麼樣的詳細內容。更多資訊請關注PHP中文網其他相關文章!

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增強效率和通用性。

theKeyDifferencesBetnewpython's“ for”和“ for”和“ loopsare:1)” for“ loopsareIdealForiteringSequenceSquencesSorkNowniterations,而2)”,而“ loopsareBetterforConterContinuingUntilacTientInditionIntionismetismetistismetistwithOutpredefinedInedIterations.un

在Python中,可以通過多種方法連接列表並管理重複元素:1)使用 運算符或extend()方法可以保留所有重複元素;2)轉換為集合再轉回列表可以去除所有重複元素,但會丟失原有順序;3)使用循環或列表推導式結合集合可以去除重複元素並保持原有順序。

fasteStmethodMethodMethodConcatenationInpythondependersonListsize:1)forsmalllists,operatorseffited.2)forlargerlists,list.extend.extend()orlistComprechensionfaster,withextendEffaster,withExtendEffers,withextend()withextend()是extextend()asmoremory-ememory-emmoremory-emmoremory-emmodifyinginglistsin-place-place-place。

toInSerteLementIntoApythonList,useAppend()toaddtotheend,insert()foreSpificPosition,andextend()formultiplelements.1)useappend()foraddingsingleitemstotheend.2)useAddingsingLeitemStotheend.2)useeapecificindex,toadapecificindex,toadaSpecificIndex,toadaSpecificIndex,blyit'ssssssslorist.3 toaddextext.3

pythonlistsareimplementedasdynamicarrays,notlinkedlists.1)他們areStoredIncoNtiguulMemoryBlocks,mayrequireRealLealLocationWhenAppendingItems,EmpactingPerformance.2)LinkesedlistSwoldOfferefeRefeRefeRefeRefficeInsertions/DeletionsButslowerIndexeDexedAccess,Lestpypytypypytypypytypy

pythonoffersFourmainMethodStoreMoveElement Fromalist:1)刪除(值)emovesthefirstoccurrenceofavalue,2)pop(index)emovesanderturnsanelementataSpecifiedIndex,3)delstatementremoveselemsbybybyselementbybyindexorslicebybyindexorslice,and 4)

toresolvea“ dermissionded”錯誤Whenrunningascript,跟隨台詞:1)CheckAndAdjustTheScript'Spermissions ofchmod xmyscript.shtomakeitexecutable.2)nesureThEseRethEserethescriptistriptocriptibationalocatiforecationAdirectorywherewhereyOuhaveWritePerMissionsyOuhaveWritePermissionsyYouHaveWritePermissions,susteSyAsyOURHomeRecretectory。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

WebStorm Mac版
好用的JavaScript開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版
中文版,非常好用