面向對象Python (OOP)是一種將數據和代碼組合成內聚單元的范例,允許您以不同的方式思考計算問題,并以高度可重用的方式解決它們。面向中級程序員的《面向對象的Python》是一本深入探討OOP核心原則的動手教程,向您展示如何使用封裝、多態性和繼承來使用Python編寫游戲和應用程序。
本書從演示過程編程中固有的關鍵問題開始,然后引導您了解在Python中創建類和對象的基礎知識。您將在此基礎上開發按鈕、文本字段和其他在事件驅動環境中是標準的GUI元素。您還將使用許多真實世界的代碼示例和兩個基于pygame的包來幫助將理論轉化為實踐,使您能夠輕松編寫帶有GUI小部件、動畫、多個場景和可重用的游戲邏輯的交互式游戲和應用。在最后一章中,您將通過構建一個功能齊全的視頻游戲將所有內容結合在一起,該游戲包含了本書中涉及的許多OOP技術和GUI元素。
您將學習如何:
使用一個對象管理器對象創建和管理多個對象
使用封裝對客戶端代碼隱藏對象的內部細節
使用多態性定義一個接口并在多個類中實現它
應用繼承來構建現有代碼
面向對象的Python是一個可視化的、直觀的指南,它完全理解OOP是如何操作的,以及如何使用它使代碼更具可維護性、可讀性和效率——同時不犧牲功能。
我的目標是撰寫一本既可以作為教程又能夠參考的書。這本書最初是為我在Mount St. Mary大學的編程入門課上的學生準備的大約30頁筆記。這些學生中大多數沒有編程經驗,這促使我改進方法。我省略了很多技術細節,有時我過度簡化了事情。其中一些細節在書的后面被補充,盡管其他細節從未被補充。但是這本書并不打算涵蓋所有內容,我推薦閱讀其他書籍和Python文檔來填補這些空白。
這本書第一部分的大部分內容都是基礎。前四章非常重要。第五章是有用的,但不是所有的都是關鍵的。第6章(字符串)應該在第7章(列表)之前完成。第8章包含一些更高級的列表主題。雖然這些內容都很有趣,也很有用,但大部分內容都可以跳過。特別是,那一章涵蓋了列表理解,我在書中后面會大量使用。雖然您可以不使用列表理解,但它們提供了一種優雅而有效的做事方式。第9章(while循環)很重要。第10章包含了各種各樣的主題,它們都很有用,但是如果需要的話,可以跳過很多。第一部分的最后四章是關于字典、文本文件、函數和面向對象編程的。
第二部分是關于圖形的,主要是用Tkinter進行GUI編程。您可以很快地使用Tkinter編寫一些很好的程序。例如,第15.7節呈現了一款20行的井字游戲。第二部分的最后一章介紹了一些關于Python圖像庫的內容。
第三部分包含了許多您可以用Python做的有趣的事情。如果你要圍繞這本書組織一個學期的課程,你可能想在第三部分中選擇一些主題來復習。這本書的這一部分也可以作為一個參考或作為一個地方,有興趣和積極的學生學習更多。書中這一部分的所有主題都是我在某一點或另一點上發現有用的東西。雖然這本書是為入門編程課程而設計的,但是對于那些有編程經驗想要學習Python的人來說,這本書也很有用。如果你是這些人中的一員,你應該能夠輕松地讀完前幾章。您應該發現,第2部分對GUI編程進行了簡明而非膚淺的論述。第三部分包含了關于Python特性的信息,這些特性允許您用很少的代碼完成大任務。
掌握使用PyTorch實現深度學習解決方案的實踐方面,使用實踐方法理解理論和實踐。Facebook的人工智能研究小組開發了一個名為PyTorch的平臺,該平臺擁有良好的理論基礎和實用技能,為你在現實世界中應用深度學習做好了準備。
首先,您將了解PyTorch的深度學習是如何以及為什么成為一種具有開創性的框架,它帶有一組工具和技術來解決現實世界中的問題。接下來,這本書將為你打下線性代數、向量微積分、概率和最優化的數學基礎。在建立了這個基礎之后,您將繼續討論PyTorch的關鍵組件和功能,包括層、損失函數和優化算法。
您還將了解基于圖形處理單元(GPU)的計算,這對訓練深度學習模型是必不可少的。介紹了深度學習的前饋網絡、卷積神經網絡、循環神經網絡、長短時記憶網絡、自動編碼器網絡和生成對抗網絡等關鍵網絡結構。在許多訓練和優化深度學習模型的技巧的支持下,這個版本的Python深度學習解釋了使用PyTorch將這些模型帶到生產中的最佳實踐。
你會: 回顧機器學習的基本原理,如過擬合、欠擬合和正則化。 了解深度學習的基本原理,如前饋網絡,卷積神經網絡,遞歸神經網絡,自動微分和隨機梯度下降。 使用PyTorch深入應用線性代數 探索PyTorch的基本原理及其構建塊 使用調優和優化模型
學習使用Python分析數據和預測結果的更簡單和更有效的方法
Python機器學習教程展示了通過關注兩個核心機器學習算法家族來成功分析數據,本書能夠提供工作機制的完整描述,以及使用特定的、可破解的代碼來說明機制的示例。算法用簡單的術語解釋,沒有復雜的數學,并使用Python應用,指導算法選擇,數據準備,并在實踐中使用訓練過的模型。您將學習一套核心的Python編程技術,各種構建預測模型的方法,以及如何測量每個模型的性能,以確保使用正確的模型。關于線性回歸和集成方法的章節深入研究了每種算法,你可以使用書中的示例代碼來開發你自己的數據分析解決方案。
機器學習算法是數據分析和可視化的核心。在過去,這些方法需要深厚的數學和統計學背景,通常需要結合專門的R編程語言。這本書演示了機器學習可以如何實現使用更廣泛的使用和可訪問的Python編程語言。
使用線性和集成算法族預測結果
建立可以解決一系列簡單和復雜問題的預測模型
使用Python應用核心機器學習算法
直接使用示例代碼構建自定義解決方案
機器學習不需要復雜和高度專業化。Python使用了更簡單、有效和經過良好測試的方法,使這項技術更容易為更廣泛的受眾所接受。Python中的機器學習將向您展示如何做到這一點,而不需要廣泛的數學或統計背景。
通過使用Python開發用例,全面了解監督學習算法您將學習監督學習概念、Python代碼、數據集、最佳實踐、常見問題和缺陷的解決方案,以及實現結構化、文本和圖像數據集算法的實踐知識。
你將從介紹機器學習開始,強調監督學習、半監督學習和非監督學習之間的區別。在接下來的章節中,你將學習回歸和分類問題,它們背后的數學,像線性回歸、邏輯回歸、決策樹、KNN、樸素貝葉斯等算法,以及像隨機森林、支持向量機、梯度增強和神經網絡等高級算法。提供了所有算法的Python實現。最后,您將得到一個端到端模型開發流程,包括模型的部署和維護。在閱讀了Python的監督學習之后,你將會對監督學習和它的實際實現有一個廣泛的理解,并且能夠以一種創新的方式運行代碼和擴展它。
你將學習:
這本書是給誰的
這本書的前半部分快速而徹底地概述了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教程的基礎上,解釋了許多沒有被常規覆蓋的Python語言特性:從通過利用入口點作為微服務扮演雙重角色的可重用控制臺腳本,到使用asyncio高效地整理大量來源的數據。通過這種方式,它涵蓋了基于類型提示的linting、低開銷測試和其他自動質量檢查,以演示一個健壯的實際開發過程。
Python的一些功能強大的方面通常用一些設計的示例來描述,這些示例僅作為一個獨立示例來解釋該特性。通過遵循從原型到生產質量的真實應用程序示例的設計和構建,您不僅將看到各種功能是如何工作的,而且還將看到它們如何作為更大的系統設計過程的一部分進行集成。此外,您還將受益于一些有用的附加說明和庫建議,它們是Python會議上問答會議的主要內容,也是討論現代Python最佳實踐和技術的主要內容,以便更好地生成易于維護的清晰代碼。
高級Python開發是為已經能用Python編寫簡單程序的開發人員準備的,這些開發人員希望了解什么時候使用新的和高級語言特性是合適的,并且能夠以一種自信的方式這樣做。它對于希望升級到更高級別的開發人員和迄今為止使用過較老版本Python的非常有經驗的開發人員特別有用。
你將學習
這本書是給誰的 -已經有Python經驗的中高級開發人員。
這本書以一種結構化的、直觀的、友好的方式學習c++編程語言。這本書教授現代c++編程語言、c++標準庫和現代c++標準的基礎知識。不需要以前的編程經驗。
c++是一種不同于其他語言的語言,它的復雜性令人驚訝,但在許多方面都非常優美和優雅。它也是一種不能通過猜測來學習的語言,是一種很容易出錯的語言。為了克服這一點,每個部分都充滿了現實世界中逐漸增加復雜性的例子。面向絕對初學者的現代c++教的不僅僅是用c++ 20編程。它提供了一個可在其上進行構建的堅實的c++基礎。
作者帶您了解c++編程語言、標準庫和c++ 11到c++ 20標準基礎知識。每一章都附有適量的理論和大量的源代碼示例。
您將使用c++ 20個特性和標準,同時還將比較和查看以前的c++版本。您將使用大量相關的源代碼示例來實現此目的。
你將學到什么
這本書是給誰的
題目
Python編程與解決問題
簡介
“用Python編程和問題解決”這本書給我們帶來了極大的樂趣。 本書適用于工程和數學入門的學生,他們可以使用這種高級編程語言作為解決數學問題的有效工具。 Python用于開發任何流的應用程序,它不僅限于計算機科學。 我們相信,任何具有計算機基礎知識和邏輯思維能力的人都可以學習編程。 出于這種動機,我們以清醒的方式編寫了這本書。 讀完本書,您將了解編程語言有多么簡單,同時您還將學習python編程的基礎知識。 您將有足夠的動力去使用python開發應用程序。
由于本書是在考慮讀者沒有python編程知識的前提下編寫的,因此在通讀所有章節之前,讀者應該了解學習python編程的好處。 以下是一些為什么要學習python語言的原因。
?Python語言簡單易學。 例如,與其他編程語言相比,它具有簡單的語法。
?Python是一種面向對象的編程語言。 它用于開發桌面,獨立和腳本應用程序。
?Python還是免費開源軟件的示例。 由于其開放性,因此無需更改原始程序就可以編寫程序并可以在任何平臺(即Windows,Linux,Ubuntu和Mac OS)上進行部署。
本書的組織本書分為兩個部分。 第一部分介紹了計算機編程的基礎知識,而第二部分介紹了與面向對象編程有關的主題以及有關數據結構的一些基本主題。
在本書的第一部分中,讀者將學習計算機的基礎知識,python編程的基礎知識,在各種操作系統上執行python程序的知識(第1章),python中使用的數據類型,賦值,格式化數字和字符串(第2章)。 )運算符和表達式(第3章),決策語句(第4章),循環控制語句(第5章)和函數(第6章)。
在第二部分中,將向讀者介紹類和對象的創建。 使用類創建列表和字符串的概念將在第7章和第8章中討論。讀者還將了解數據結構的基本主題,即搜索和排序(第9章),因為它是最重要的概念之一,并且幾乎用在了其中。 所有實際應用。 第10章介紹了面向對象編程的各種概念和功能,例如繼承,可訪問性(即封裝)。第11章詳細介紹了python的主要重要數據結構之一,即元組,集合和字典,而第12章介紹了Python。 使用烏龜創建圖形。 最后,第13章將幫助讀者理解文件處理的需求,并以此為基礎開發實時應用程序。 因此,在閱讀本書的第二部分之后,讀者將可以通過考慮靈活性和可重用性來創建軟件應用程序。
從設計和原型設計到測試、部署和維護,Python在許多方面都很有用,它一直是當今最流行的編程語言之一。這本實用的書的第三版提供了對語言的快速參考——包括Python 3.5、2.7和3.6的突出部分——它龐大的標準庫中常用的區域,以及一些最有用的第三方模塊和包。
本書非常適合具有一些Python經驗的程序員,以及來自其他編程語言的程序員,它涵蓋了廣泛的應用領域,包括web和網絡編程、XML處理、數據庫交互和高速數字計算。了解Python如何提供優雅、簡單、實用和強大功能的獨特組合。
這個版本包括:
簡單易懂,讀起來很有趣,介紹Python對于初學者和語言新手都是理想的。作者Bill Lubanovic帶您從基礎知識到更復雜和更多樣的主題,混合教程和烹飪書風格的代碼配方來解釋Python 3中的概念。章節結尾的練習可以幫助你練習所學的內容。
您將獲得該語言的堅實基礎,包括測試、調試、代碼重用和其他開發技巧的最佳實踐。本書還向您展示了如何使用各種Python工具和開放源碼包將Python用于商業、科學和藝術領域的應用程序。