預估到手價是按參與促銷活動、以最優惠的購買方案計算出的價格(不含優惠券部分),僅供參考,未必等同于實際到手價。
-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
Python編程入門與項目應用 版權信息
- ISBN:9787522119137
- 條形碼:9787522119137 ; 978-7-5221-1913-7
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
Python編程入門與項目應用 本書特色
☆Python編程入門寶典,開啟你的Python編程之旅。 ☆由淺入深,詳解Python基礎語法知識,面向對象等高級用法。 ☆結合實例,帶你探索并發編程、網絡編程、數據庫編程、爬蟲等實用功能。 ☆結構完整,內容豐富,語言通俗易懂,讀來輕松有趣。 ☆版塊多樣,有助于培養編程思想,拓展編程知識。 ☆實例眾多,注釋詳盡,便于理解和掌握Python。
Python編程入門與項目應用 內容簡介
本書是一本關于Python的編程入門書。全書共分為五大部分:學習準備、基礎知識、高級知識、編程進階和應用開發。全書在系統闡述與計算機原理相關的一些知識和Python的開發環境的基礎上,重點講解Python語法相關知識,包括變量、數據類型、邏輯語句、函數、算法等;解析Python實用高級用法,如面向對象、繼承與多態、容器化、上下文管理等。同時,本書還結合實例分析了利用Python如何實現并發編程、數據庫編程、網絡編程、GUI編程,以及Python在Web后端開發、爬蟲開發、大數據開發與人工智能開發中的應用。 本書結構完整,內容豐富,語言通俗易懂,實例詳盡,初學者可以零基礎入門,程序開發人員可以學習提高,提升編程思維。相信本書一定能夠幫助不同層次的讀者掌握Python編程,提升編程能力。
Python編程入門與項目應用 目錄
第1篇 學習準備
第1章 計算機原理
1.1 計算機構成
1.2 操作系統
1.3 編程語言
1.4 進制
1.5 原碼、補碼與反碼
第2章 初識Python語言
2.1 Python語言的前世今生
2.2 Python解釋器
2.3 搭建Python語言的開發環境
2.4 Python程序
第2篇 基礎知識
第3章 變量與轉義字符
3.1 變量
3.2 格式化輸出
3.3 轉義字符
第4章 數據類型
4.1 數值
4.2 布爾型bool
4.3 字符串str
4.4 列表list
4.5 元組tuple
4.6 集合set
4.7 字典dict
4.8 變量驗證type
4.9 數據類型的轉換
4.10 控制臺輸入
第5章 運算符
5.1 算術運算符
5.2 賦值運算符
5.3 比較運算符
5.4 邏輯運算符
5.5 位運算符
第6章 邏輯語句
6.1 條件結構邏輯語句
6.2 隨機數模塊random
6.3 循環結構邏輯語句
第7章 函數
7.1 普通函數
7.2 變量作用域
7.3 匿名函數
7.4 生成器函數
7.5 裝飾器
第8章 編程常用算法
8.1 樹
8.2 遞歸
8.3 排序
第3篇 高級知識
第9章 面向對象編程
9.1 面向對象思想
9.2 類和對象
9.3 調用對象self
9.4 屬性
9.5 方法
第10章 繼承與多態
10.1 單繼承
10.2 多繼承
10.3 重寫與調用
10.4 多態
第11章 面向對象高級編程
11.1 屬性查看dir
11.2 可視化與hash
11.3 運算符重載
11.4 容器化
11.5 反射
11.6 上下文管理
第12章 異常與調試
12.1 異常處理
12.2 try…exept…else語句
12.3 try…except…else…finally語句
12.4 程序調試
第13章 模塊與包
13.1 模塊化
13.2 Python程序打包
第14章 文件I/O
14.1 打開文件
14.2 關閉文件
14.3 文件讀寫
14.4 目錄操作
第15章 內置函數
15.1 函數式編程
15.2 內置普通函數
15.3 內置高階函數
第16章 字符串操作
16.1 字符串查找操作
16.2 字符串修改操作
16.3 字符串刪除操作.
第17章 日期和時間
17.1 日期和時間處理模塊datetime
17.2 datetime模塊中的datetime類
第4篇 編程進階
第18章 并發編程
18.1 多線程的相關概念
18.2 多線程開發
18.3 異步開發
第19章 數據庫編程
19.1 數據庫介紹
19.2 Python數據庫編程
19.3 Python數據庫編程——Oracle
19.4 Python數據庫編程——MySQL
第20章 網絡編程
20.1 網絡知識
20.2 socket模塊
20.3 TCP編程
20.4 UDP編程
20.5 I/O多路復用
第21章 GUI編程
21.2 Python GUI庫
21.3 創建應用程序
21.4 常用控件
21.5 布局
21.6 事件處理
第5篇 應用開發
第22章 Python Web后端開發
22.1 初識Web開發
22.2 Python Web后端開發主流框架
22.3 基于Django企業級框架的Web后端開發
22.4 基于Flask微型框架的Web后端開發
第23章 Python爬蟲開發
23.1 爬蟲概述
23.2 爬蟲的原理和基本步驟
23.3 urllib模塊
23.4 Beautiful Soup
第24章 Python大數據開發與人工智能開發
24.1 Python與大數據開發
24.2 Python與人工智能開發
參考文獻
Python編程入門與項目應用 節選
第4篇 編程進階 第18章 并發編程 人類有時可以同時處理兩件事情,比如,一邊吃飯一邊看電視,吃飯和看電視這兩件事情是并行處理的。而計算機處理問題的方式與人類不同,同一個CPU處理問題是線性的,一次只能處理一個命令。那么,計算機一邊播放音樂一邊處理文檔是如何實現的呢?這就要依靠并發編程了。 使用并發編程可以充分利用計算機的時間碎片,為每個任務分配一小段時間,多個任務交替執行,由于計算機執行速度很快,只要分配的時間片足夠短,多個任務就好像在同時進行一樣。 18.1 多線程的相關概念 18.1.1 進程與線程 進程是計算機程序關于某數據集上的一次運行活動,是操作系統資源分配和調度的基本單位。 在操作系統中,每執行一個應用程序就會創建一個新的進程。每一個進程都有自己的地址空間、內存和數據,操作系統負責管理進程并為進程分配時間等資源。由于每個進程都包含獨立的數據,所以不同進程之間不能直接共享數據,只能使用進程間通信。 一個進程中至少有一個線程來執行程序,如果一個進程想要同時處理多個任務,就需要多個線程并發執行,其中每個任務都對應一個線程。例如,在使用QQ時,可以同時開啟多個會話。 進程與線程的關系如圖18-1所示。 18.1.2 并行與并發 并行是指多個任務同時執行,在操作系統中是指多個任務無論是從宏觀上還是微觀上都是同時執行。 并發是指在一段時間內,多個任務從宏觀上看起來是同時執行,但是實際從微觀來看還是順序執行。 使用計算機時,用戶可以同時處理多個任務,如:一邊播放音樂,一邊打開瀏覽器瀏覽網頁,還可以打開記事本記錄今天要處理的事情,這些任務對應的就是進程,這些進程在用戶看來是同時在處理,但是在計算機的微觀層面上是否也是同時在處理呢? 現在的計算機普遍都是多核CPU,如果計算機在分配資源時,將這3個任務分配給3個CPU去執行,那么這3個進程的運行狀態就是并行。如果這3個任務分配給了同一個CPU,CPU為每個進程分配一小段時間片,使得這3個進程可以交替執行,那這3個進程的運行狀態就是并發,如圖18-2所示。 并行和并發的概念也同樣適用于線程,不過在Python中,同一個進程中的線程只會占用一個內核CPU,如果想在Python中實現并行,只能創建多個進程。本書在此之前的示例執行的都是單一任務,如果要同時執行多種任務怎么辦呢?在Python中,有以下三種方法。 **種方法,創建多個進程,每個進程執行一種任務。 第二種方法,創建一個進程,一個進程中創建多個線程,每個線程執行一個任務。 第三種方法,創建多個進程,每個進程中創建多個線程,進程和線程同時執行任務(這種方法過于復雜,實際開發中很少采用)。 執行多種任務的方法概括起來如圖18-3所示。 創建進程需要消耗更多的資源,而且一般需要執行多任務時,各個任務之間可能有先后順序,也可能需要進行數據傳輸和交換,而進程之間數據無法共享,只能使用進程間通信,因此一般我們選擇使用多線程的方式來執行多任務。 使用多線程可以完成并發,實現宏觀上的“多任務”模式,多個線程是屬于同一個進程的,這里的“多任務”是指同一個進程內的多件任務。例如,運行QQ時,我們在會話窗口輸入文字的同時也能接收到對方傳來的消息,這就需要兩個線程來分別完成“接收消息”和“輸入文字”的任務。 編程寶典 使用多線程的優點 使用多線程有以下幾個優點。 (1)使用多線程編程,可以將占據時間長的任務放到后臺去處理,例如,使用word打印文件時,將打印程序放到后臺去處理,不影響用戶繼續編輯文件。 (2)使用多線程編程,有時可以充分利用計算機的時間片段,提高程序的整體運行速度。例如,執行一些用戶輸入、網絡收發數據等需要等待的任務時,將這些任務放到線程中去處理能提高程序的運行效率。 (3)使用多線程編程,可以提高用戶的使用體驗,增強程序的交互性。例如,在視頻播放時,用戶可以隨時點擊暫停按鈕,停止播放。 18.1.3 線程的生命周期 一個線程有五種狀態,分別為新建、就緒、運行、阻塞和死亡。 (1)新建狀態:新創建的線程對象處于新建狀態。 (2)就緒狀態:當調用線程對象的start()方法后,線程處于就緒狀態,等待調度。 (3)運行狀態:處于就緒狀態的線程獲得CPU等資源后就可以轉為運行狀態,處于運行狀態的線程可以執行本線程的代碼。 (4)阻塞狀態:阻塞狀態根據產生阻塞的原因又可以分為三種:等待阻塞、同步阻塞和其他阻塞。 等待阻塞:一個A線程可以通過調用B線程的join()方法使A線程本身進入阻塞狀態,直到B線程執行完畢后,A線程才從阻塞狀態轉變為就緒狀態。 同步阻塞:同步阻塞是指兩個線程同時想訪問共享數據時,一旦其中一個線程,比如A線程獲得訪問權限,那么B線程就進入阻塞狀態,直到A線程訪問完畢后,B線程才從阻塞狀態轉變為就緒狀態。 其他阻塞:在線程運行過程中,當調用sleep()函數或等待接收用戶輸入的數據時,線程進入阻塞狀態,直到sleep()函數執行完畢或用戶輸入完畢,線程才從阻塞狀態轉變為就緒狀態。 處于運行狀態的線程遇到以上幾種阻塞情況時,進入阻塞狀態。 (5)死亡狀態:當一個線程的程序執行完畢,或者發生錯誤或異常,線程就進入死亡狀態。線程的五種狀態之間的轉換關系如圖18-4所示。 18.1.4 線程安全 實際開發過程中,很多時候都需要用到多線程,多個線程同時執行時,可能會同時訪問共享數據。例如,某網絡商店在雙十一期間搞秒殺活動,商品數量一共有n件,客戶下單購買時,程序后臺首先判斷當前庫存數量n是否大于0,如果大于0,客戶就可以下單付款,相應地庫存數量變為n-1。當有多個顧客同時購買時,就會有多個線程同時訪問這段代碼,如果A線程和B線程同時獲得了當前的商品數量n,并且判斷出n大于0,然后各自執行下單操作,*后可能會導致A和B都下單完畢時,庫存數量本應變為n-2,卻因為線程交替執行的原因導致庫存數量變為n-1,導致數據不同步,產生邏輯錯誤,如圖18-5所示。 所以,在進行多線程開發時,當多個線程都需要訪問共享數據時需要著重考慮線程安全問題。 那么,線程安全的問題如何解決呢? 目前,解決線程訪問共享數據的安全問題,通用做法是給共享數據上一道鎖。共享數據就好像一個密室,一開始處于未鎖定狀態,當線程訪問共享數據時會將密室鎖定,其他線程就無法再訪問,等該線程訪問完畢,將鎖打開,其他線程才能繼續訪問,如圖18-6所示。 18.2 多線程開發 Python中提供了幾個實現多線程開發的模塊,例如:_thread和threading,等等。_thread和threading模塊提供了創建和管理線程的方法,_thread是低級模塊,threading模塊提供了對_thread模塊的封裝,是高級模塊。_thread模塊中,當主線程結束時,子線程無論是否已完成都將被強制結束,而threading模塊能確保重要子線程完成后進程才結束。所以,在實際開發時一般選用threading模塊。 18.2.1 多線程 在Python中,創建多線程有以下兩種方式:使用_thread.start_new_thread()函數創建線程;使用threading模塊提供的Thread類創建線程。 1.使用_thread模塊提供的start_new_thread()函數創建線程 _thread模塊提供了start_new_thread()方法來創建線程。其語法格式如下所示。 _thread.start_new_thread(function,args[,kwargs]) 參數說明: Function:線程執行的函數。 Args:元組類型,表示傳遞給function的參數。 Kwargs:可選參數。 返回值:線程的標識。 _thread.start_new_thread()方法創建一個新線程并返回其標識。 【例】使用_thread模塊的start_new_thread()方法創建一個新線程。具體代碼如下所示。 import _thread import time
Python編程入門與項目應用 作者簡介
任曉霞,副教授,福州大學碩士,曾于2016年前往渥太華大學訪學交流。對新型能源器件及集成系統仿真設計技術頗有研究。 向靜,電子科技大學博士,重慶大學(在職)博士后。主要從事多物理場耦合與計算相關的研究。 楊守良,教授,重慶大學工學碩士。全國大學生電子設計競賽重慶賽區測評專家,中國電子學會高級會員,中國電子學會電子設計認證工程師考評員,重慶市電機工程學會理事。在信號獲取與處理、FPGA嵌入式系統、圖形圖像處理等領域有深入研究。
- >
隨園食單
- >
自卑與超越
- >
姑媽的寶刀
- >
羅曼·羅蘭讀書隨筆-精裝
- >
唐代進士錄
- >
詩經-先民的歌唱
- >
史學評論
- >
煙與鏡