認真的開發人員知道,代碼總是可以改進的。在每次迭代中,您都要進行優化—無論大小—這將對您的應用程序的速度、大小、彈性和可維護性產生巨大的影響。
在《真正優秀的軟件:能夠工作、生存和成功的代碼》一書中,作者、教師和Java專家Marco Faella教授您編寫更好代碼的技巧。您將從一個簡單的應用程序開始,然后通過七個仔細的重構,每個重構都旨在探索質量的另一個維度。
Python Workout提供了50個練習,重點是Python 3的關鍵特性。在這本書中,Python專家教練魯文·勒納(Reuven Lerner)通過一系列小項目指導你,練習你處理日常任務所需的技能。你會喜歡每個技巧的清晰解釋,你可以觀看Reuven解決每個練習的視頻。
//www.manning.com/books/python-workout
在過去的幾年中,Python已經進入了許多領域,包括系統管理、數據科學、devops、文本處理和Web開發。因此,現在有許多課程和書籍旨在教授Python。
本書分為10章,每一章涵蓋Python的不同領域。總的來說,隨著本書的發展,問題會變得越來越復雜——但這并不意味著我要等到“函數”一章才開始使用函數,或者等到“函數編程”一章才開始理解函數。你可以使用任何你認為必要的工具。
每一章都以一個參考表開始,包括鏈接,指向可能幫助你更好地理解你已經忘記或從未學過的主題的資源。我希望這些將幫助您加強對Python的理解,而不僅僅是本書本身。
除了練習和解決方案,還有視頻,在其中我演示如何解決每個問題,并添加到我在書中的討論。解決方案和你在書中讀到的一樣,但對很多人來說,視頻讓整個過程更加生動;你會在我的現場培訓課程中得到更多的感覺。此外,查看編碼和解決過程的時間變化通常很有幫助,而不是在頁面上一次性查看所有內容。使用視頻片段的最佳方法是同時打開該書和視頻(在Manning的liveVideo平臺中)。對于每個練習,從書開始,完成每個練習,如果你喜歡,閱讀解決方案和討論。然后點擊相應的視頻片段,看我演示解決方案,并為討論提供進一步的見解。
通過這個緊湊的實用指南,開始使用Python進行數據分析。這本書包括三個練習和一個用正確的格式從Python代碼中獲取數據的案例研究。使用Python學習數據分析還可以幫助您使用分析發現數據中的意義,并展示如何可視化數據。
每一節課都盡可能是獨立的,允許您根據需要插入和退出示例。如果您已經在使用Python進行數據分析,那么您會發現您希望知道如何使用Python來完成許多事情。然后,您可以將這些技術直接應用到您自己的項目中。
如果您不使用Python進行數據分析,那么本書從一開始就帶您了解基礎知識,為您在該主題中打下堅實的基礎。當你閱讀完這本書的時候,你會對如何使用Python進行數據分析有更好的理解。
你將學到什么
這本書是給誰的
想學習使用Python進行數據分析的同學。建議您具有Python方面的經驗,但不是必需的,因為您需要具有數據分析或數據科學方面的經驗。
使用Microsoft Excel中流行的數據挖掘技術,更好地理解機器學習方法。
軟件工具和編程語言包接受數據輸入并直接交付數據挖掘結果,對工作機制沒有任何見解,并在輸入和輸出之間造成了鴻溝。這就是Excel可以提供幫助的地方。
Excel允許您以透明的方式處理數據。當您打開一個Excel文件時,數據立即可見,您可以直接使用它。在執行挖掘任務時,可以檢查中間結果,從而更深入地理解如何操作數據和獲得結果。這些是隱藏在軟件工具和編程語言包中的模型構建過程的關鍵方面。
這本書教你通過Excel進行數據挖掘。您將了解當數據集不是很大時Excel在數據挖掘方面的優勢。它可以為您提供數據挖掘的可視化表示,在結果中建立信心。您將手動完成每一個步驟,這不僅提供了一個主動學習體驗,而且還告訴您挖掘過程是如何工作的,以及如何發現數據內部隱藏的模式。
你將學到什么
這本書是給誰的
Python程序員將使用這些有用的單行程序來提高他們的計算機科學技能。
Python單行程序將教會您如何閱讀和編寫“單行程序”:將有用功能的簡明語句封裝到一行代碼中。您將學習如何系統地解包和理解任何一行Python代碼,并像專家一樣編寫雄辯、強大的壓縮Python。
本書共分五章,內容包括技巧和技巧、正則表達式、機器學習、核心數據科學主題和有用的算法。對一行程序的詳細解釋將介紹關鍵的計算機科學概念,并提高您的編碼和分析技能。您將了解高級Python特性,如列表理解、切片、lambda函數、正則表達式、映射和縮減函數以及切片分配。您還將學習如何:
?利用數據結構來解決現實世界的問題,比如使用布爾索引來查找污染水平高于平均水平的城市
?使用NumPy基礎,如數組、形狀、軸、類型、廣播、高級索引、切片、排序、搜索、聚合和統計
?計算多維數據數組的基本統計量和無監督學習的K-Means算法
?使用分組和命名組、負查找頭、轉義字符、空白、字符集(和負字符集)和貪婪/非貪婪操作符創建更高級的正則表達式
?了解廣泛的計算機科學主題,包括字謎、回文、超集、排列、階乘、質數、斐波納契數、混淆、搜索和算法排序
在本書的最后,您將了解如何以最精煉的方式編寫Python,并僅用一行代碼就創建簡潔、漂亮的“Python藝術”片段。
?
改進您的編程技術和方法,成為一個更有生產力和創造性的Python程序員。本書探索了一些概念和特性,這些概念和特性不僅將改進您的代碼,而且還將幫助您理解Python社區,并對Python哲學有深入的了解和詳細的介紹。
專業的Python 3,第三版給你的工具寫干凈,創新的代碼。它首先回顧了一些核心的Python原則,這些原則將在本書后面的各種概念和示例中進行說明。本書的前半部分探討了函數、類、協議和字符串的各個方面,描述了一些技術,這些技術可能不是常見的知識,但它們共同構成了堅實的基礎。后面的章節涉及文檔、測試和應用程序分發。在此過程中,您將開發一個復雜的Python框架,該框架將整合在本書中所學到的思想。
這個版本的更新包括Python 3中迭代器的角色、用Scrapy和BeautifulSoup進行web抓取、使用請求調用沒有字符串的web頁面、用于分發和安裝的新工具等等。在本書的最后,您將準備好部署不常見的特性,這些特性可以將您的Python技能提升到下一個級別。
你將學習
這本書是給誰看的 熟悉Python的中級程序員,希望提升到高級水平。您應該至少編寫了一個簡單的Python應用程序,并且熟悉基本的面向對象方法、使用交互式解釋器和編寫控制結構。
數據結構和算法的更新、創新方法
這個權威的指南由其領域的專家組成的作者團隊編寫,它甚至解釋了最困難的數學概念,這樣您就可以清楚地理解c++中的數據結構和算法。
權威的作者團隊采用面向對象的設計范式,使用c++作為實現語言,同時還提供基本算法的直覺和分析。
本書作者BrettSlatkin以使用場景為主導的精練教學方式,匯聚了59條優秀的實踐原則、開發技巧和便捷方案,并以實用的代碼范例來解釋它們。作者根據自己在Google公司多年開發Python基礎架構所積累的經驗,揭示了Python語言中一些鮮為人知的微妙特性,并給出了能夠改善代碼功能及運行效率的習慣用法。通過本書,你能夠了解到解決關鍵編程任務所用的佳方式,并學會編寫易于理解、便于維護且利于改進的代碼。
本書可以幫你掌握真正的Pythonic編程方式,令你能夠發揮出Python語言的強大功能,并寫出健壯而高效的代碼。Scott Meyers在暢銷書《Effective C++》中開創了一種以使用場景為主導的精練教學方式,本書作者Brett Slatkin就以這種方式匯聚了59條優秀的實踐原則、開發技巧和便捷方案,并以實用的代碼范例來解釋它們。
Slatkin根據自己在Google公司多年開發Python基礎架構所積累的經驗,揭示Python語言中一些鮮為人知的微妙特性,并給出了能夠改善代碼功能及運行效率的習慣用法。通過本書,你能夠了解到解決關鍵編程任務所用的方式,并學會編寫易于理解、便于維護且利于改進的代碼。本書核心內容包括:
● 涵蓋Python 3.x及Python 2.x主要應用領域的實用指南,以及與之配套的詳細解釋及代碼范例。
● 與函數相關的編程建議,這些建議有助于我們寫出意圖清晰、便于復用且缺陷較少的函數。
● 如何準確地表達類與對象的行為。
● 在使用元類和動態屬性時,如何避免錯誤的用法。
● 更為高效的并發及并行方式。
● 與Python內置模塊相關的編程技巧和習慣用法。
● 多人協作時所用的開發工具和實踐方式。
● 旨在改善代碼質量和程序性能的調試、測試與優化方案。
這本書在對算法工作原理的高層次理解和對優化模型的具體細節的了解之間找到一個平衡點。這本書將給你的信心和技能時,開發所有主要的機器學習模型。在這本Pro機器學習算法中,您將首先在Excel中開發算法,以便在用Python/R實現模型之前,實際了解可以在模型中調優的所有細節。
你將涵蓋所有主要的算法:監督和非監督學習,其中包括線性/邏輯回歸;k - means聚類;主成分分析;推薦系統;決策樹;隨機森林;“GBM”;和神經網絡。您還將通過CNNs、RNNs和word2vec等文本挖掘工具了解最新的深度學習。你不僅要學習算法,還要學習特征工程的概念來最大化模型的性能。您將看到該理論與案例研究,如情緒分類,欺詐檢測,推薦系統,和圖像識別,以便您得到最佳的理論和實踐為工業中使用的絕大多數機器學習算法。在學習算法的同時,您還將接觸到在所有主要云服務提供商上運行的機器學習模型。
你會學到什么?
這本書是給誰看的
希望轉換到數據科學角色的業務分析師/ IT專業人員。想要鞏固機器學習知識的數據科學家。
簡介:
探索用Python編寫代碼的正確方法。這本書提供的技巧和技術,你需要生產更干凈,無錯誤,和雄辯的Python項目。
要獲得更好的代碼,首先要理解對代碼進行格式化和編制文檔以獲得最大可讀性的重要性,利用內置的數據結構和Python字典來提高可維護性,并使用模塊和元類來有效地組織代碼。然后,您將深入了解Python語言的新特性,并學習如何有效地利用它們。接下來,您將解碼關鍵概念,如異步編程、Python數據類型、類型提示和路徑處理。學習在Python代碼中調試和執行單元測試和集成測試的技巧,以確保您的代碼可以投入生產。學習旅程的最后一段為您提供了版本管理、實時代碼管理和智能代碼完成的基本工具。 在閱讀和使用這本書之后,您將熟練地編寫干凈的Python代碼,并成功地將這些原則應用到您自己的Python項目中。
目錄:
作者:
Sunil Kapil在過去十年一直從事軟件行業,用Python和其他幾種語言編寫產品代碼。 他曾是一名軟件工程師,主要從事網絡和移動服務的后端工作。他開發、部署并維護了數百萬用戶喜愛和使用的從小型到大型的生產項目。他與世界各地知名軟件公司的大小團隊在不同的專業環境中完成了這些項目。他也是開源的熱情倡導者,并不斷為Zulip Chat和Black等項目貢獻力量。Sunil經常在各種會議上發表關于Python的演講。
Python是世界上最流行的編程語言之一,人們從不同的背景成為Python程序員。有些人受過正規的計算機科學教育。其他人則將Python學習作為一種愛好。還有一些人在專業環境中使用Python,但他們的主要工作不是做軟件開發人員。這本中級書中的問題將幫助經驗豐富的程序員在學習語言的某些高級功能的同時,從他們的CS教育中重新了解自己的想法。自學成才的程序員將通過學習所選語言(例如Python)中的經典問題來加速CS教育。本書涵蓋了各種各樣的問題解決技術,以至于每個人都有真正的收獲。
這本書不是對Python的介紹。相反,這本書假設您已經是一名中級或高級的Python程序員。盡管這本書需要Python3.7,但我們并不認為它能夠精通最新版本的Python的每一個方面。事實上,這本書的內容是建立在這樣一個假設上的:它將作為學習材料,幫助讀者達到這樣的掌握。另一方面,這本書不適合完全不熟悉Python的讀者。
目錄:
介紹
小問題
斐波那契序列
簡單的壓縮
牢不可破的加密
計算圓周率
漢諾塔
實際應用
練習
搜索問題
DNA搜索
迷宮求解
傳教士和野人問題
實際應用
練習
約束滿足問題
構建約束-滿足問題框架
澳大利亞的地圖著色問題
八皇后問題
單詞搜索
SEND+MORE=MONEY
電路板布局
實際應用
練習
圖論問題
地圖作為圖
構建圖框架
最短路徑查找
最小化網絡建設成本
求加權圖中的最短路徑
實際應用
練習
遺傳算法
生物背景
一種通用遺傳算法
一個天真的測試
SEND+MORE=MONEY revisited
優化列表壓縮
遺傳算法的挑戰
實際應用
練習
k-means聚類
預備工作
k-means聚類算法
按年齡和經度對州長進行聚類
按長度聚集邁克爾·杰克遜的專輯
K-means聚類的問題和擴展
實際應用
練習
相當簡單的神經網絡
生物學基礎?
人工神經網絡
預備工作
構建網絡
分類問題
加速神經網絡
神經網絡問題和擴展
實際應用
練習
對抗搜索
基本棋盤游戲組件
井字游戲
四子棋
除了α-β剪枝之外的極大極小改進
實際應用
練習
其他問題
背包問題
旅行推銷員問題
電話號碼助記符
練習
附錄A 詞匯表
附錄B 更多資源
附錄C 類型提示簡介