TOP
0
0
即日起~6/30,暑期閱讀書展,好書7折起
Python程序設計:從基礎到開發(簡體書)
滿額折

Python程序設計:從基礎到開發(簡體書)

商品資訊

人民幣定價:49 元
定價
:NT$ 294 元
優惠價
87256
絕版無法訂購
相關商品
商品簡介
目次
書摘/試閱

商品簡介

本書以Python3.5為編程環境,從基本的程序設計思想入手,逐步展開Python語言教學,是一本面向廣大編程學習者的程序設計類圖書。基礎篇主要講解Python的基礎語法知識、控制語句、函數、文件、面向對象編程基礎、Tkinter圖形界面設計、網絡編程和多線程、Python數據庫應用等知識,并以小游戲案例作為各章的階段性任務。開發篇綜合應用前面介紹的技術,開發經典的大家耳熟能詳的游戲,例如“連連看”“推箱子”“中國象棋”“網絡五子棋”“兩人麻將”“掃雷”和“飛機大戰”游戲等。本書*大的特色在于以游戲開發案例為導向,讓讀者對枯燥的Python語言學習充滿樂趣,在開發過程中,不知不覺地學會這些枯燥的技術。書中不僅列出了完整的代碼,同時對所有的源代碼進行了非常詳細的解釋,做到通俗易懂,圖文并茂。

本書既可作為高等院校相關專業Python課程的教材,也可作為Python語言學習者、程序設計人員和游戲編程愛好者的參考用書。


目次

基礎篇

第1章Python語言介紹

1.1Python語言簡介

1.2安裝與配置Python環境

1.2.1安裝Python

1.2.2運行Python

1.3Python開發環境IDLE簡介

1.3.1IDLE的啟動

1.3.2利用IDLE創建Python程序

1.3.3IDLE常用編輯功能

1.3.4在IDLE中運行和調試Python程序

1.4Python基本輸入/輸出

1.4.1Python基本輸入

1.4.2Python基本輸出

1.5Python代碼規范

1.6使用幫助

1.7習題

第2章Python語法基礎

2.1Python數據類型

2.1.1數值類型

2.1.2字符串

2.1.3布爾類型

2.1.4空值

2.1.5Python數字類型轉換

2.2常量和變量

2.2.1變量

2.2.2常量

2.3運算符與表達式

2.3.1運算符

2.3.2表達式

2.4序列數據結構

2.4.1列表

2.4.2元組

2.4.3字典

2.4.4集合

2.5習題

第3章Python控制語句

3.1選擇結構

3.1.1if語句

3.1.2if…else語句

3.1.3if…elif…else語句

3.1.4pass語句

3.2循環結構

3.2.1while語句

3.2.2for語句

3.2.3continue和break語句

3.2.4循環嵌套

3.3常用算法及應用實例

3.3.1累加與累乘

3.3.2求最大數和最小數

3.3.3枚舉法

3.3.4遞推與迭代

3.4游戲初步——猜單詞游戲

3.5習題

第4章Python函數與模塊

4.1函數的定義和使用

4.1.1函數的定義

4.1.2函數的使用

4.1.3Lambda表達式

4.1.4函數的返回值

4.2函數參數

4.2.1函數形參和實參的區別

4.2.2參數的傳遞

4.2.3函數參數的類型

4.2.4變量的作用域

4.3閉包和函數的遞歸調用

4.3.1閉包

4.3.2函數的遞歸調用

4.4內置函數

4.4.1數學運算函數

4.4.2集合操作函數

4.4.3字符串函數

4.4.4反射函數

4.4.5I/O函數

4.5模塊

4.5.1import導入模塊

4.5.2定義自己的模塊

4.5.3time模塊

4.5.4日歷(calendar)模塊

4.5.5日期時間(datetime)模塊

4.5.6random模塊

4.5.7math模塊和cmath模塊

4.6游戲初步

4.7習題

第5章Python文件的使用

5.1文件

5.2文件的訪問

5.2.1打開(建立)文件

5.2.2讀取文本文件

5.2.3寫文本文件

5.2.4文件內移動

5.2.5文件的關閉

5.2.6二進制文件的讀/寫

5.3文件夾的操作

5.3.1當前工作目錄

5.3.2目錄操作

5.3.3文件操作

5.4文件應用案例——游戲地圖存儲

5.4.1地圖寫入文件

5.4.2從地圖文件讀取信息

5.5習題

第6章面向對象程序設計

6.1面向對象程序設計基礎

6.2類和對象

6.2.1定義和使用類

6.2.2構造函數

6.2.3析構函數

6.2.4實例屬性和類屬性

6.2.5私有成員與公有成員

6.2.6方法

6.3類的繼承和多態

6.3.1類的繼承

6.3.2類的多繼承

6.3.3方法重寫

6.3.4多態

6.3.5運算符重載

6.4面向對象應用案例——撲克牌類設計

6.4.1關鍵技術——random模塊

6.4.2程序設計的思路

6.5習題

第7章Tkinter圖形界面設計

7.1Python圖形開發庫

7.1.1創建Windows窗口

7.1.2幾何布局管理器

7.2常用Tkinter組件的使用

7.2.1Tkinter組件

7.2.2標準屬性

7.2.3Label標簽組件

7.2.4Button按鈕組件

7.2.5單行文本框Entry和多行文本框Text

7.2.6列表框組件Listbox

7.2.7單選按鈕Radiobutton和復選框Checkbutton

7.2.8菜單組件Menu

7.2.9對話框

7.2.10消息窗口(消息框)

7.2.11Frame框架組件

7.2.12Scrollbar滾動條組件

7.3圖形繪制

7.3.1Canvas畫布組件

7.3.2Canvas上的圖形對象

7.4Tkinter字體

7.4.1通過元組表示字體

7.4.2通過Font對象表示字體

7.5Python事件處理

7.5.1事件類型

7.5.2事件綁定

7.5.3事件處理函數

7.6圖形界面程序設計的應用

7.6.1開發猜數字游戲

7.6.2撲克牌發牌程序窗體圖形版

7.7習題

第8章Python數據庫應用

8.1數據庫基礎

8.1.1數據庫概念

8.1.2關系型數據庫

8.1.3數據庫和Python接口程序

8.2結構化查詢語言SQL

8.2.1數據表的建立(CREATETABLE)和刪除(DROP)

8.2.2查詢語句SELECT

8.2.3添加記錄語句INSERTINTO

8.2.4更新語句UPDATE

8.2.5刪除記錄語句DELETE

8.3SQLite數據庫簡介

8.3.1SQLite數據庫

8.3.2SQLite3的數據類型

8.3.3SQLite3的函數

8.3.4SQLite3的模塊

8.4Python的SQLite3數據庫編程

8.4.1訪問數據庫的步驟

8.4.2創建數據庫和表

8.4.3數據庫的插入、更新和刪除操作

8.4.4數據庫表的查詢操作

8.4.5數據庫使用實例

8.5Python數據庫應用案例——智力問答游戲

8.6習題

第9章網絡編程和多線程

9.1網絡編程基礎

9.1.1互聯網TCP/IP協議

9.1.2IP協議

9.1.3TCP和UDP協議

9.1.4端口

9.1.5Socket

9.2TCP編程

9.2.1TCP客戶端編程

9.2.2TCP服務器端編程

9.3UDP編程

9.4多線程編程

9.4.1進程和線程

9.4.2創建線程

9.4.3線程同步

9.4.4定時器Timer

9.5網絡編程案例——Python在線聊天程序

9.5.1在線聊天程序服務器端

9.5.2在線聊天程序客戶端

9.6習題

開發篇

第10章連連看游戲

10.1連連看游戲介紹

10.2程序設計的思路

10.3程序設計的步驟

第11章推箱子游戲

11.1推箱子游戲介紹

11.2程序設計的思路

11.3關鍵技術

11.4程序設計的步驟

第12章兩人麻將游戲

12.1麻將游戲介紹

12.2兩人麻將游戲設計的思路

12.2.1素材圖片

12.2.2游戲邏輯實現

12.2.3碰吃牌判斷

12.2.4和牌算法

12.2.5實現計算機智能出牌

12.3關鍵技術

12.3.1聲音播放

12.3.2返回對應位置的組件

12.3.3對保存麻將牌的列表排序

12.4兩人麻將游戲設計的步驟

12.4.1麻將牌類設計

12.4.2設計游戲主程序

第13章單機版五子棋

13.1單機版五子棋游戲簡介

13.2五子棋設計思想

13.3關鍵技術

13.4程序設計的步驟

第14章網絡五子棋

14.1網絡五子棋游戲簡介

14.2通信協議

14.3服務器端程序設計的步驟

14.4客戶端程序設計的步驟

第15章掃雷游戲

15.1游戲介紹

15.2程序設計的思路

15.3關鍵技術

15.4程序設計的步驟

第16章中國象棋

16.1中國象棋介紹

16.2關鍵技術

16.3中國象棋設計思路

16.4中國象棋實現的步驟

第17章21點撲克牌游戲

17.121點撲克牌游戲介紹

17.2關鍵技術

17.3程序設計的步驟

第18章華容道游戲

18.1華容道游戲介紹

18.2華容道游戲設計思路

18.3程序設計的步驟

提高篇

第19章基于Pygame游戲設計

19.1Pygame基礎知識

19.2Pygame的使用

19.2.1Pygame開發游戲的主要流程

19.2.2Pygame的圖像圖形繪制

19.2.3Pygame的鍵盤和鼠標事件的處理

19.2.4Pygame的字體使用

19.2.5Pygame的聲音播放

19.2.6Pygame的精靈使用

19.3基于Pygame設計貪吃蛇游戲

19.4基于Pygame設計飛機大戰游戲

19.4.1游戲角色

19.4.2游戲界面顯示

19.4.3游戲邏輯實現

參考文獻


書摘/試閱

第3章

Python控制語句

對于Python程序中的執行語句,默認時是按照書寫順序依次執行的,這時稱這樣的語句是順序結構的。但是,僅有順序結構還是不夠的,因為有時候需要根據特定的情況,有選擇地執行某些語句,這時就需要一種選擇結構的語句。另外,有時候還可以在給定條件下往復執行某些語句,這時稱這些語句是循環結構的。有了這三種基本的結構,就能夠構建任意復雜的程序了。

3.1選擇結構

三種基本程序結構中的選擇結構,可用if語句、if…else語句和if…elif…else語句實現。

3.1.1if語句

Python的if語句的功能跟其他語言的非常相似,都是用來判定給出的條件是否滿足,然后根據判斷的結果(即真或假)決定是否執行給出的操作。if語句是一種單選結構,它選擇的是做與不做。它是由三部分組成:關鍵字if本身、測試條件真假的表達式(簡稱為條件表達式)和表達式結果為真(即表達式的值為非零)時要執行的代碼。if語句的語法形式如下所示:

if表達式:

語句1

圖31選擇結構

if語句的流程圖如圖31所示。

if語句的表達式用于判斷條件,可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)來表示其關系。

現在用一個示例程序來演示一下if語句的用法。程序很簡單,只要用戶輸入一個整數,如果這個數字大于6,那么就輸出一行字符串;否則,直接退出程序。代碼如下所示:

#比較輸入的整數是否大于6

a=input("請輸入一個整數:")#取得一個字符串

a=int(a)#將字符串轉換為整數

ifa>6:

print(a,"大于6")

通常,一個程序都會有輸入/輸出,這樣可以與用戶進行交互。用戶輸入一些信息,你會對他輸入的內容進行一些適當的操作,然后再輸出給用戶想要的結果。Python的輸入/輸出,可以用input進行輸入,print進行輸出,這些都是簡單的控制臺輸入/輸出,復雜的有處理文件等。

3.1.2if…else語句

上面的if語句是一種單選結構,也就是說,如果條件為真(即表達式的值為非零),那么執行指定的操作;否則就會跳過該操作。而if…else語句是一種雙選結構,在兩種備選行動中選擇哪一個的問題。if…else語句由五部分組成:關鍵字if、測試條件真假的表達式、表達式結果為真(即表達式的值為非零)時要執行的代碼,以及關鍵字else和表達式結果為假(即表達式的值為零)時要執行的代碼。if…else語句的語法形式如下所示:

if表達式:

語句1

else:

語句2

圖32選擇結構

if…else語句的示意圖如圖32所示。

下面對上面的示例程序進行修改,以演示if…else語句的使用方法。程序很簡單,只要用戶輸入一個整數,如果這個數字大于6,那么就輸出一行信息,指出輸入的數字大于6;否則,輸出另一行字符串,指出輸入的數字小于等于6。代碼如下所示:

a=input("請輸入一個整數:")#取得一個字符串

a=int(a)#將字符串轉換為整數

ifa>6:

print(a,"大于6")

else

print(a,"小于等于6")

【例31】任意輸入三個數字,按從小到大順序輸出。

x=input('x=')#輸入x

y=input('y=')#輸入y

z=input('z=')#輸入z

ifx>y:

x,y=y,x#x,y互換

ifx>z:

x,z=z,x#x,z互換

ify>z:

y,z=z,y#y,z互換

print(x,y,z)

假如x、y、z分別輸入1、4、3,以上代碼執行輸出結果:

x=1

y=4

z=3

134

3.1.3if…elif…else語句

有時候,需要在多組動作中選擇一組執行,這時就會用到多選結構,對于Python語言來說就是if…elif…else語句。該語句可以利用一系列條件表達式進行檢查,并在某個表達式為真的情況下執行相應的代碼。需要注意的是,雖然if…elif…else語句的備選動作較多,但是有且只有一組動作被執行,該語句的語法形式如下所示:

if表達式1:

語句1

elif表達式2:

語句2

elif表達式n:

語句n

else:

語句n+1

注意,最后一個elif子句之后的else子句沒有進行條件判斷,它實際上處理跟前面所有條件都不匹配的情況,所以else子句必須放在最后。if…elif…else語句的示意圖如圖33所示。

圖33if…elif…else語句的流程圖

下面繼續對上面的示例程序進行修改,以演示if…elif…else語句的使用方法。我們還是要用戶輸入一個整數,如果這個數字大于6,那么就輸出一行信息,指出輸入的數字大于6;如果這個數字小于6,則輸出另一行字符串,指出輸入的數字小于6;否則,指出輸入的數字等于6。具體的代碼如下所示:

a=input("請輸入一個整數:")#取得一個字符串

a=int(a)#將字符串轉換為整數

ifa>6:

print(a,"大于6")

elifa==6:

print(a,"等于于6")

else:

print(a,"小于6")

【例32】輸入學生的成績score,按分數輸出其等級:score≥90為優,90>score≥80為良,80>score≥70為中等,70>score≥60為及格,score<60為不及格。

score=int(input("請輸入成績"))#int()轉換字符串為整型

ifscore>=90:

print("優")

elifscore>=80:

print("良")

elifscore>=70:

print("中")

elifscore>=60:

print("及格")

else:

print("不及格")

說明:三種選擇語句中,條件表達式都是必不可少的組成部分。當條件表達式的值為零時,表示條件為假;當條件表達式的值為非零時,表示條件為真。那么哪些表達式可以作為條件表達式呢?基本上,最常用的是關系表達式和邏輯表達式,例如:

ifa==xandb==y:

print("a=x,b=y")

除此之外,條件表達式可以是任何數值類型表達式,甚至字符串也可以,例如:

if'a':#'abc':也可以

print("a=x,b=y")

另外,C語言是用花括號{}來區分語句體,但是Python的語句體是用縮進形式來表示的,如果縮進不正確,會導致邏輯錯誤。

3.1.4pass語句

Python提供了一個關鍵字“pass”,類似于空語句,可以用在類和函數的定義中或者選擇結構中。當暫時沒有確定如何實現功能,或者為以后的軟件升級預留空間,或者其他類型功能時,可以使用該關鍵字來“占位”。例如下面的代碼是合法:

ifa<>< p=""> <>

pass#什么操作也不做

else:

z=a

classA:#類的定義

pass

defdemo():#函數的定義

pass

3.2循環結構

程序在一般情況下是按順序執行的。編程語言提供了各種控制結構,允許更復雜的執行路徑。循環語句允許執行一個語句或語句組多次,Python提供了for循環和while循環(在Python中沒有do…while循環)。

3.2.1while語句

Python編程中while語句用于循環執行程序,即在某條件下,循環執行某段程序,以處理需要重復處理的相同任務。其基本形式為:

while判斷條件:

執行語句

執行語句可以是單個語句或語句塊。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為True。當判斷條件為假false時,循環結束。例如:

count=0

whilecount<9:

print('Thecountis:',count)

count=count+1

print("Goodbye!")

以上代碼執行輸出結果:

Thecountis:0

Thecountis:1

Thecountis:2

Thecountis:3

Thecountis:4

Thecountis:5

Thecountis:6

Thecountis:7

Thecountis:8

Goodbye!

此外while語句“判斷條件”還可以是個常值,表示循環必定成立。例如:

count=0

while1:#判斷條件是個常值1

print('Thecountis:',count)

count=count+1

print("Goodbye!")

這樣就形成無限循環,可以借助后面學習的break語句結束循環。

【例33】輸入兩個正整數,求它們的最大公約數。

分析:求最大公約數可以用“輾轉相除法”,方法如下:

(1)比較兩數,并使m大于n。

(2)將m作被除數,n作除數,相除后余數為r。

(3)循環判斷r,若r=0,則n為最大公約數,結束循環。若r≠0,執行步驟m←n,n←r;將m作被除數,n作除數,相除后余數為r。

……


您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 256
絕版無法訂購

暢銷榜

客服中心

收藏

會員專區