搜尋
首頁後端開發Python教學《流暢的Python》怎麼樣

《流暢的Python》怎麼樣

May 23, 2019 am 11:52 AM
python

設想在初學Python(或其他語言)的時候只是去學習那20%常用的,如果再不願意去精進,那麼可能我永遠都不會有機會去了解描述符,也不會使用元類,最後成了一個以為已經會程式設計、熟悉Python的井底之蛙,所以當時我是拒絕的。

《流暢的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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python的混合方法:編譯和解釋合併Python的混合方法:編譯和解釋合併May 08, 2025 am 12:16 AM

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

了解python的' for”和' then”循環之間的差異了解python的' for”和' then”循環之間的差異May 08, 2025 am 12:11 AM

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

Python串聯列表與重複Python串聯列表與重複May 08, 2025 am 12:09 AM

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

Python列表串聯性能:速度比較Python列表串聯性能:速度比較May 08, 2025 am 12:09 AM

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

您如何將元素插入python列表中?您如何將元素插入python列表中?May 08, 2025 am 12:07 AM

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

Python是否列表動態陣列或引擎蓋下的鏈接列表?Python是否列表動態陣列或引擎蓋下的鏈接列表?May 07, 2025 am 12:16 AM

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

如何從python列表中刪除元素?如何從python列表中刪除元素?May 07, 2025 am 12:15 AM

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

試圖運行腳本時,應該檢查是否會遇到'權限拒絕”錯誤?試圖運行腳本時,應該檢查是否會遇到'權限拒絕”錯誤?May 07, 2025 am 12:12 AM

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

DVWA

DVWA

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

mPDF

mPDF

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

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用