編輯推薦
本教程集“教材、練習冊、上機指導”於一體,基於Windows 10和Python 3.5.2構建Python開發平颱,闡述Python語言的基礎知識,以及使用Python語言的實際開發應用實例,具體內容包括:Python概述、Python語言基礎、程序流程控製、常用內置數據類型、係列數據類型、輸入和輸齣、錯誤和異常處理、函數、類和對象、模塊和客戶端、算法與數據結構基礎、圖形用戶界麵、圖形繪製、數值日期和時間處理、字符串和文本處理、文件、數據庫訪問、網絡和Web編程、多綫程編程以及係統管理等。
內容簡介
本教程集教材、練習冊、上機指導於一體,基於Windows 10和Python 3.5.2構建Python開發平颱,闡述Python語言的基礎知識,以及使用Python語言的實際開發應用實例,具體內容包括:Python概述、Python語言基礎、程序流程控製、常用內置數據類型、係列數據類型、輸入和輸齣、錯誤和異常處理、函數、類和對象、模塊和客戶端、算法與數據結構基礎、圖形用戶界麵、圖形繪製、數值日期和時間處理、字符串和文本處理、文件、數據庫訪問、網絡和Web編程、多綫程編程以及係統管理等。
本教程作者結閤多年的程序設計、係統開發以及授課經驗,由淺入深、循序漸進地介紹Python程序設計語言,讓讀者能夠較為係統全麵地掌握程序設計的理論和應用。
本教程可以作為高等學校各專業的計算機程序設計教材,同時也可作為廣大程序設計開發者、愛好者的自學參考書。
目錄
第1章 Python概述 1
1.1 Python語言概述 1
1.1.1 Python語言簡介 1
1.1.2 Python語言的特點 1
1.1.3 Python語言的應用範圍 2
1.2 Python語言版本和開發環境 2
1.2.1 Python語言的版本 2
1.2.2 Python語言的實現 2
1.2.3 Python語言的集成開發環境 3
1.3 下載和安裝Python 3
1.3.1 下載Python 3
1.3.2 安裝Python 4
1.3.3 安裝和管理Python擴展包 4
1.4 使用Python解釋器解釋執行Python程序 6
1.4.1 運行Python解釋器 6
1.4.2 運行Python集成開發環境 7
1.5 使用文本編輯器和命令行編寫和執行Python源文件程序 8
1.5.1 編寫Hello World程序 9
1.5.2 Hello World程序(hello.py)源代碼分析 10
1.5.3 運行Python源代碼程序 10
1.5.4 命令行參數 11
1.6 使用集成開發環境IDLE編寫和執行Python源文件程序 12
1.6.1 使用IDLE編寫程序 12
1.6.2 使用IDLE編輯程序 13
1.7 在綫幫助和相關資源 13
1.7.1 Python交互式幫助係統 13
1.7.2 Python文檔 16
1.7.3 Python官網 17
1.7.4 Python擴展庫索引(PyPI) 17
復習題 18
上機實踐 19
第2章 Python語言基礎 20
2.1 Python程序概述 20
2.1.1 引例 20
2.1.2 Python程序構成 20
2.2 Python對象和引用 21
2.2.1 Python對象概述 21
2.2.2 使用字麵量創建實例對象 21
2.2.3 使用類對象創建實例對象 22
2.2.4 數據類型 22
2.2.5 變量和對象的引用 22
2.2.6 Python是動態類型語言 23
2.2.7 Python是強類型語言 24
2.2.8 對象內存示意圖 24
2.2.9 對象的值比較(==)和引用判彆(is) 25
2.2.10 不可變對象(immutable)和可變對象(mutable) 25
2.3 標識符及其命名規則 26
2.3.1 標識符 26
2.3.2 保留關鍵字 27
2.3.3 Python預定義標識符 27
2.3.4 命名規則 27
2.4 變量和賦值語句 28
2.4.1 變量的聲明和賦值 28
2.4.2 鏈式賦值語句 28
2.4.3 復閤賦值語句 29
2.4.4 刪除變量 29
2.4.5 係列解包賦值 29
2.4.6 常量 30
2.5 錶達式和運算符 30
2.5.1 錶達式的組成 30
2.5.2 錶達式的書寫規則 31
2.5.3 運算符概述 31
2.5.4 Python運算符及其優先級 31
2.6 語句 32
2.6.1 Python語句 32
2.6.2 Python語句的書寫規則 33
2.6.3 復閤語句及其縮進書寫規則 33
2.6.4 注釋語句 34
2.6.5 空語句pass 34
2.7 函數和模塊 34
2.7.1 函數的創建和調用 34
2.7.2 內置函數 35
2.7.3 模塊函數 35
2.7.4 函數API 36
2.8 類和對象 36
2.8.1 創建類對象 36
2.8.2 實例對象的創建和調用 37
2.9 模塊和包 37
復習題 37
上機實踐 39
第3章 程序流程控製 41
3.1 順序結構 41
3.2 選擇結構 41
3.2.1 分支結構的形式 42
3.2.2 單分支結構 42
3.2.3 雙分支結構 43
3.2.4 多分支結構 44
3.2.5 if語句的嵌套 45
3.2.6 if語句典型示例代碼 46
3.2.7 選擇結構綜閤舉例 47
3.3 循環結構 48
3.3.1 可迭代對象 48
3.3.2 range對象 49
3.3.3 for循環 49
3.3.4 while循環 50
3.3.5 循環的嵌套 51
3.3.6 break語句 52
3.3.7 continue語句 53
3.3.8 死循環(無限循環) 54
3.3.9 else子句 55
3.3.10 循環語句典型示例代碼 55
3.3.11 循環結構綜閤舉例 56
復習題 57
上機實踐 60
第4章 常用內置數據類型 64
4.1 Python內置數據類型概述 64
4.1.1 數值數據類型 64
4.1.2 序列數據類型 64
4.1.3 集閤數據類型 65
4.1.4 字典數據類型 65
4.1.5 NoneType、NotImplementedType和EllipsisType 65
4.1.6 其他數據類型 65
4.2 int數據類型(任意精度整數) 65
4.2.1 整型字麵量 66
4.2.2 int對象 66
4.2.3 int對象的方法 66
4.2.4 整數的運算 67
4.3 float類型(有限精度浮點數) 68
4.3.1 浮點類型字麵量 68
4.3.2 float對象 68
4.3.3 float對象的方法 68
4.3.4 浮點數的運算 69
4.4 complex類型(復數) 70
4.4.1 復數類型字麵量 70
4.4.2 complex對象 70
4.4.3 complex對象屬性和方法 70
4.4.4 復數的運算 70
4.5 bool數據類型(布爾邏輯值) 71
4.5.1 布爾值字麵量 71
4.5.2 bool對象 71
4.5.3 邏輯運算符 72
4.6 str數據類型(字符串) 73
4.6.1 字符串字麵量 73
4.6.2 字符串編碼 73
4.6.3 轉義字符 73
4.6.4 str對象 74
4.6.5 str對象屬性和方法 74
4.6.6 字符串的運算 75
4.6.7 對象轉換為字符串 75
4.6.8 字符串的格式化 75
精彩書摘
程序流程控製
Python程序中語句執行的順序包括三種基本控製結構:順序結構、選擇結構、循環 結構。
3.1 順 序 結 構
程序中語句執行的基本順序按各語句齣現位置的先後次序執行,稱為順序結構,參見圖3-1。先執行語句塊1,再執行語句塊2,*後執行語句塊3。三個語句塊之間是順序執行關係。
【例3.1】 順序結構示例(area.py):輸入三角形三條邊的邊長(為簡單起見,假設這三條邊可以構成三角形),計算三角形的麵積。提示:三角形麵積,其中,a、b、c是三角形三邊的邊長,h是三角形周長的一半。
import math
a = float(input("請輸入三角形的邊長a:"))
b = float(input("請輸入三角形的邊長b:"))
c = float(input("請輸入三角形的邊長c:"))
h = (a + b + c) / 2 #三角形周長的一半
area = math.sqrt(h*(h-a)*(h-b)*(h-c)); #三角形麵積
print(str.format("三角形三邊分彆為:a={0},b={1},c={2}", a, b, c))
print(str.format("三角形的麵積 = {0}", area))
程序運行結果如下。
請輸入三角形的邊長a:3
請輸入三角形的邊長b:4
請輸入三角形的邊長c:5
三角形三邊分彆為:a=3.0,b=4.0,c=5.0
三角形的麵積 = 6.0
3.2 選 擇 結 構
選擇結構可以根據條件來控製代碼的執行分支,也叫分支結構。Python使用if語句來實現分支結構。
3.2.1 分支結構的形式
分支結構包含多種形式:單分支、雙分支和多分支,流程如圖3-2(a)~圖3-2(c)所示。
(a)單分支 (b)雙分支 (c)多分支
圖3-2 if語句的選擇結構
3.2.2 單分支結構
if語句單分支結構的語法形式如下:
if (條件錶達式):
語句/語句塊
其中:
(1)條件錶達式:可以是關係錶達式、邏輯錶達式、算術錶達式等。
(2)語句/語句塊:可以是單個語句,也可以是多個語句。多個語句的縮進必須對齊 一緻。
當條件錶達式的值為真(True)時,執行if後的語句(塊),否則不做任何操作,控製將轉到if語句的結束點。其流程如圖3-2(a)所示。
條件錶達式*後評價為bool值:True(真)或False(假)。Python評價方法如下:如果錶達式的結果為:數值類型(0)、空字符串(" ")、空元組(())、空列錶([ ])、空字典({ }),則其bool值為False(假);否則其bool值為True(真)。例如,123、"abc"、(1,2)均為True。
【例3.2】 單分支結構示例(if_2desc.py):輸入兩個數a和b,比較兩者大小,使得a大於b。
a = int(input("請輸入第1個整數:"))
b = int(input("請輸入第2個整數:"))
print(str.format("輸入值:{0}, {1}", a, b))
if (a < b):
t = a
a = b
b = t
print(str.format("降序值:{0}, {1}", a, b))
程序運行結果如下。
請輸入第1個整數:23
請輸入第2個整數:34
輸入值:23, 34
降序值:34, 23
3.2.3 雙分支結構
if語句雙分支結構的語法形式如下:
if (條件錶達式):
語句/語句塊1
else:
語句/語句塊2
當條件錶達式的值為真(True)時,執行if後的語句(塊)1,否則執行else後的語句(塊)2,其流程如圖3-2(b)所示。
Python提供瞭下列條件錶達式,來實現等價於其他語言的三元條件運算符((條件)?語句1:語句2)的功能:
條件為真時的值 if (條件錶達式) else條件為真時的值
例如,如果x?0,則y=x,否則y=0,可以記述為:
y = x if (x >=0) else 0
【例3.3】 計算分段函數:
此分段函數有以下幾種實現方式,請讀者自行編程測試。
(1)利用單分支結構實現。
一句單分支語句:
y = math.sin(x) + 2 * math.sqrt(x + math.exp(4)) - math.pow(x + 1, 3)
if (x<0):
y = math.log(-5 * x) - math.fabs(x * x - 8 * x) / (7 * x) + math.e
或兩句單分支語句:
if (x>=0):
y = math.sin(x) + 2 * math.sqrt(x + math.exp(4)) - math.pow(x + 1, 3)
if (x<0):
y = math.log(-5 * x) - math.fabs(x * x - 8 * x) / (7 * x) + math.e
(2)利用雙分支結構實現。
if (x>=0):
y = math.sin(x) + 2 * math.sqrt(x + math.exp(4)) - math.pow(x + 1, 3)
else:
y = math.log(-5 * x) - math.fabs(x * x - 8 * x) / (7 * x) + math.e
(3)利用條件運算語句實現。
y = (math.sin(x) + 2 * math.sqrt(x + math.exp(4)) - math.pow(x + 1, 3)) if ((x>=0)) else
(math.log(-5 * x) - math.fabs(x * x - 8 * x) / (7 * x) + math.e)
3.2.4 多分支結構
if語句多分支結構的語法形式如下。
前言/序言
程序設計是大專院校計算機、電子信息、工商管理等相關專業的必修課程。Python語言是一種解釋型、麵嚮對象的計算機程序設計語言,廣泛用於計算機程序設計教學語言、係統管理編程腳本語言、科學計算等,特彆適用於快速的應用程序開發。Python編程語言廣受開發者的喜愛,並被列入LAMP(Linux、Apache、MySQL以及Python/Perl/PHP),已經成為*受歡迎的程序設計語言之一。
本教程集教材、練習冊、上機指導於一體,基於Windows 10和Python 3.5.2構建Python開發平颱,通過大量的實例,由淺入深、循序漸進地闡述Python語言的基礎知識,以及使用Python語言的實際開發應用實例。具體內容包括:Python概述、Python語言基礎、程序流程控製、常用內置數據類型、係列數據類型、輸入和輸齣、錯誤和異常處理、函數、類和對象、模塊和客戶端、算法與數據結構基礎、圖形用戶界麵、圖形繪製、數值日期和時間處理、字符串和文本處理、文件、數據庫訪問、網絡和Web編程、多綫程編程以及係統管理等。
本教程各章節涉及的源程序代碼和相關素材,以及供教師參考的教學電子文稿均可以通過清華大學齣版社網站(www.tup.tsinghua.edu.cn)下載,也可以通過hjiang@cc.ecnu.edu.cn直接與作者聯係。
本教程由華東師範大學江紅和餘青鬆共同編寫。由於時間和編者學識有限,書中不足之處在所難免,敬請諸位同行、專傢和讀者指正。
編 者
2017年3月
Python程序設計與算法基礎教程(21世紀高等學校計算機專業實用規劃教材) 下載 mobi epub pdf txt 電子書 格式
Python程序設計與算法基礎教程(21世紀高等學校計算機專業實用規劃教材) 下載 mobi pdf epub txt 電子書 格式 2024