Python的簡單性使您能夠快速地提高工作效率,但這通常意味著您不能使用它所提供的所有功能。在這個實踐指南的更新版中,您將學習如何利用Python3的最佳思想來編寫有效的、現代的代碼。
發現并應用超出您過去經驗的慣用Python 3特性。作者Luciano Ramalho將指導您了解Python的核心語言特性和庫,并教你如何使您的代碼更短、更快、更易讀。
本書的主要更新包括:Fluent Python,第二版,包括:
特殊方法: Python對象行為一致的關鍵 數據結構: 序列、字典、集合、Unicode和數據類 函數作為對象: 一級函數、相關設計模式和函數聲明中的類型提示 面向對象的習慣用法: 組合、繼承、mixins、接口、操作符重載、靜態類型和協議 控制流: 上下文管理器、生成器、協程、async/await和線程/進程池 元編程: 比元類更簡單的屬性、屬性描述符、類裝飾器和新的類元編程
//www.oreilly.com/library/view/fluent-python-2nd/9781492056348/
當你正在匆忙編寫代碼并且需要一個答案時,你可以閱讀這本書。它是對核心語言的一個易于使用的引用,包括對常用模塊和工具包的描述,以及關于最近的變化、新特性和升級的內置組件的指南——所有這些更新都涵蓋了Python 3。X和版本2.6。您還可以通過方便的索引快速找到所需的內容。
由Mark Lutz編寫——被廣泛認為是世界領先的Python培訓師——Python Pocket Reference,第四版,是O'Reilly的經典Python教程的完美伙伴,也由Mark: Learning Python and Programming Python編寫。
內置對象類型,包括數字、列表、字典等 用于創建和處理對象的語句和語法 用于構造和重用代碼的函數和模塊 Python的面向對象編程工具 異常處理模型 內置函數、異常和屬性 特殊的操作符重載方法 廣泛使用的標準庫模塊和擴展 命令行選項和開發工具 Python的習慣用法和提示
《Python機器學習經典實例(影印版 英文版)》這本實用指南提供了近200則完整的攻略,可幫助你解決日常工作中可能遇到的機器學習難題。如果你熟悉Python以及包括pandas和scikit-learn在內的庫,那么解決一些特定問題將不在話下,比如數據加載、文本處理、數值數據、模型選擇、降維以及諸多其他主題。
每則攻略中都包含代碼,你可以將其復制并粘貼到實驗數據集中,以確保代碼的確有效。你可以插入、組合、修改這些代碼,從而協助構建你自己的應用程序。攻略中還包括相關的討論,對解決方案給出了解釋并提供有意義的上下文。
《Python機器學習經典實例(影印版 英文版)》在理論和概念之外提供了構造實用機器學習應用所需的具體細節。
//www.oreilly.com/library/view/machine-learning-with/9781491989371/
歡迎學習Python的基礎知識。不僅僅是高級語法和編寫干凈代碼的熟練技巧的集合,您將學習如何通過使用命令行和其他專業工具(如代碼格式化器、類型檢查器、linters和版本控制)來提高您的Python編程技能。
Sweigart帶您通過設置開發環境、命名變量和提高可讀性的最佳實踐,然后處理文檔、組織和性能度量,以及面向對象設計和編程面試中常用的Big-O算法分析。你所學的技能將會提高你編程的能力——不僅僅是用Python,而是用任何語言。
//nostarch.com/beyond-basic-stuff-python
你將學習:
這里有一本關于世界上最流行的編程語言的全面和最新的指南!無論您是新手還是專家,您都將找到使用c++ 20最新特性所需要的東西。作為編程語言的主力,c++為您提供了對數據使用、接口和資源分配的最大控制。如果你的工作涉及數據,精通c++意味著你是不可或缺的!
這個版本給了你8本書合在一本中完全掌握c++。在本書中,國際知名專家John Paul Mueller將帶您從使用對象和類的基礎知識,到編寫使用通常與c++不相關的范例的應用程序,例如那些用于函數式編程策略的范例。該書還包括在線資源,如源代碼。您將了解如何使用c++ GNU編譯器來構建應用程序,甚至如何使用您的移動設備進行編碼。
掌握高級編程和故障排除 用lambda表達式簡化代碼 在你需要的地方使用c++:游戲、企業應用程序和Web服務 揭開對象的秘密,包括設計模式的使用 了解如何使用函數式編程技術使代碼簡潔易讀
這本書的前半部分快速而徹底地概述了Python的所有基礎知識。你不需要任何以前的經驗與編程開始,我們將教你一切你需要知道,一步一步。
第二部分著重于用Python以實用的方式解決有趣的、真實的問題。一旦你掌握了基礎知識,你就會通過跟隨我們的動手編程練習和項目迅速提高。
我們在書中的每一頁都精心安排了漂亮的排版,代碼示例的語法高亮顯示,以及教學截圖,這樣你可以有效地處理和記憶信息:
所有材料都是Python 3.9的最新版本,Python編程語言在2020年發布的最新和最好的版本。簡而言之,以下是你將學到的Python基礎知識:Python 3的實用介紹:
安裝和運行Python:在Windows、macOS或Linux上設置Python 3.9編碼環境
核心Python 3概念和約定:解釋器會話、腳本、查找和修復代碼bug、如何組織代碼和構造Python程序、如何有效地學習和實踐
Python 3.9基本原理:變量、基本數據類型、函數和循環、條件邏輯和控制流、字符串格式、列表/元組/字典、文件輸入和輸出、錯誤處理。
中級Python概念:面向對象編程(OOP)、正則表達式、名稱空間和作用域、異常處理、安裝第三方包。
Python的實際使用:創建和修改PDF文件、使用數據庫、從web下載和抓取內容、數據科學基礎(科學計算和繪圖)、圖形用戶界面和GUI編程。
本書由奮戰在Python開發一線近20年的Luciano Ramalho執筆,Victor Stinner、Alex Martelli等Python大咖擔綱技術審稿人,從語言設計層面剖析編程細節,兼顧Python 3和Python 2,告訴你Python中不親自動手實踐就無法理解的語言陷阱成因和解決之道,教你寫出風格地道的Python代碼。
● Python數據模型:理解為什么特殊方法是對象行為一致的關鍵。 ● 數據結構:充分利用內置類型,理解Unicode文本和字節二象性。 ● 把函數視作對象:把Python函數視作一等對象,并了解這一點對流行的設計模式的影響。 ● 面向對象習慣用法:通過構建類學習引用、可變性、接口、運算符重載和多重繼承。 ● 控制流程:學習使用上下文管理器、生成器、協程,以及通過concurrent.futures和asyncio包實現的并發。 ● 元編程:理解特性、描述符、類裝飾器和元類的工作原理。
這本書以一種結構化的、直觀的、友好的方式學習c++編程語言。這本書教授現代c++編程語言、c++標準庫和現代c++標準的基礎知識。不需要以前的編程經驗。
c++是一種不同于其他語言的語言,它的復雜性令人驚訝,但在許多方面都非常優美和優雅。它也是一種不能通過猜測來學習的語言,是一種很容易出錯的語言。為了克服這一點,每個部分都充滿了現實世界中逐漸增加復雜性的例子。面向絕對初學者的現代c++教的不僅僅是用c++ 20編程。它提供了一個可在其上進行構建的堅實的c++基礎。
作者帶您了解c++編程語言、標準庫和c++ 11到c++ 20標準基礎知識。每一章都附有適量的理論和大量的源代碼示例。
您將使用c++ 20個特性和標準,同時還將比較和查看以前的c++版本。您將使用大量相關的源代碼示例來實現此目的。
你將學到什么
這本書是給誰的
在不同的編程環境中理解和使用高級C#最重要的特性。這本書教你高級C#的基本特性,以及如何使用Visual Studio 2019將它們合并到不同的編程技術中。
這本書分為兩部分。第一部分介紹了c#高級編程的基本原理和要點。您將了解委托和事件,然后轉向lambda表達式。第二部分將介紹如何用不同的編程技術實現這些特性,首先從泛型編程開始。之后,您將學習線程編程和異步編程,以便從多線程環境中獲益。最后,您將學習使用ADO進行數據庫編程。你將知道如何通過你的c#應用程序執行SQL語句和存儲過程。
你將學到什么
這本書是給誰的
Python程序員將使用這些有用的單行程序來提高他們的計算機科學技能。
Python單行程序將教會您如何閱讀和編寫“單行程序”:將有用功能的簡明語句封裝到一行代碼中。您將學習如何系統地解包和理解任何一行Python代碼,并像專家一樣編寫雄辯、強大的壓縮Python。
本書共分五章,內容包括技巧和技巧、正則表達式、機器學習、核心數據科學主題和有用的算法。對一行程序的詳細解釋將介紹關鍵的計算機科學概念,并提高您的編碼和分析技能。您將了解高級Python特性,如列表理解、切片、lambda函數、正則表達式、映射和縮減函數以及切片分配。您還將學習如何:
?利用數據結構來解決現實世界的問題,比如使用布爾索引來查找污染水平高于平均水平的城市
?使用NumPy基礎,如數組、形狀、軸、類型、廣播、高級索引、切片、排序、搜索、聚合和統計
?計算多維數據數組的基本統計量和無監督學習的K-Means算法
?使用分組和命名組、負查找頭、轉義字符、空白、字符集(和負字符集)和貪婪/非貪婪操作符創建更高級的正則表達式
?了解廣泛的計算機科學主題,包括字謎、回文、超集、排列、階乘、質數、斐波納契數、混淆、搜索和算法排序
在本書的最后,您將了解如何以最精煉的方式編寫Python,并僅用一行代碼就創建簡潔、漂亮的“Python藝術”片段。
Python 官方教程(//docs.python.org/3/tutorial/)的開頭是這樣寫的:“Python 是一門既容易上手又強大的編程語言。”這句話本身并無大礙,但需要注意的是,正因為它既好學又好用,所以很多Python程序員只用到了其強大功能的一小部分。
只需要幾個小時,經驗豐富的程序員就能學會用 Python 寫出實用的程序。然而隨著這最初高產的幾個小時變成數周甚至數月,在那些先入為主的編程語言的影響下,開發者們會慢慢地寫出帶著“口音”的 Python 代碼。即便 Python 是你的初戀,也難逃此命運。因為在學校里,抑或是那些入門書上,教授者往往會有意避免只跟語言本身相關的特性。
另外,向那些已在其他語言領域里有了豐富經驗的程序員介紹 Python 的時候,我還發現了一個問題:人們總是傾向于尋求自己熟悉的東西。受到其他語言的影響,你大概能猜到Python會支持正則表達式,然后就會去查閱文檔。但是如果你從來沒見過元組拆包(tuple unpacking),也沒聽過描述符(descriptor)這個概念,那么估計你也不會特地去搜索它們,然后就永遠失去了使用這些Python獨有的特性的機會。這也是本書試圖解決的一個問題。
第一部分
第一部分只有單獨的一章,講解的是 Python 的數據模型(datamodel),以及如何為了保證行為一致性而使用特殊方法(比如__repr__),畢竟 Python 的一致性是出了名的。其實整本書幾乎都是在講解 Python 的數據模型,第 1 章算是一個概覽。
第二部分
第二部分包含了各種集合類型:序列(sequence)、映射(mapping)和集合(set),另外還提及了字符串(str)和字節序列(bytes)的區分。說起來,最后這一點也是讓親者(Python 3 用戶)快,仇者(Python 2 用戶)痛的一個關鍵,因為這個區分致使 Python 2代碼遷移到 Python 3 的難度陡增。第二部分的目標是幫助讀者回憶起Python 內置的類庫,順帶解釋這些類庫的一些不太直觀的地方。具體的例子有 Python 3 如何在我們觀察不到的地方對 dict 的鍵重新排序,或者是排序有區域(locale)依賴的字符串時的注意事項。為了達到本部分的目標,有些地方的講解會比較大而全,像序列類型和映射類型的變種就是這樣;有時則會寫得很深入,比方說我會對dict 和 set 底層的散列表進行深層次的討論。
第三部分
如何把函數作為一等對象(first-order object)來使用。第三部分首先會解釋前面這句話是什么意思,然后話題延伸到這個概念對那些被廣泛使用的設計模型的影響,最后讀者會看到如何利用閉包(closure)的概念來實現函數裝飾器(function decorator)。這一部分的話題還包括Python 的這些基本概念:可調用(callable)、函數屬性(functionattribute)、內省(introspection)、參數注解(parameter annotation)和Python 3 里新出現的 nonlocal 聲明。
第四部分
到了這里,書的重點轉移到了類的構建上面。雖然在第二部分里的例子里就有類聲明(class declaration)的出現,但是第四部分會呈現更多的類。和任何面向對象語言一樣,Python 還有些自己的特性,這些特性可能并不會出現在你我學習基于類的編程的語言中。這一部分的章節解釋了引用(reference)的原理、“可變性”的概念、實例的生命周期、
如何構建自定義的集合類型和 ABC、多重繼承該怎么理順、什么時候應該使用操作符重載及其方法。
第五部分
Python 中有些結構和庫不再滿足于諸如條件判斷、循環和子程序(subroutine)之類的順序控制流程,第五部分的筆墨會集中在這些構造和庫上。我們會從生成器(generator)起步,然后話題會轉移到上下文管理器(context manager)和協程(coroutine),其中會涵蓋新增的功能強大但又不容易理解的 yield from 語法。這一部分以并發性和面向事件的 I/O 來結尾,其中跟并發性相關的是 collections.futures這個很新的包,它借助 futures 包把線程和進程的概念給封裝了起
來;而跟面向事件 I/O 相關的則是 asyncio,它的背后是基于協程和yield from 的 futures 包。
第六部分
第六部分的開頭會講到如何動態創建帶屬性的類,用以處理諸如JSON 這類半結構化的數據。然后會從大家已經熟悉的特性(property)機制入手,用描述符從底層來解釋 Python 對象屬性的存取。同時,函數、方法和描述符的關系也會被梳理一遍。第六部分會從頭至尾地實現一個字段驗證器,在這個過程中我們會遇到一些微妙的問題,然后在最后一章中就自然引出像類裝飾器(class decorator)和元類(metaclass)這些高級的概念。