-
>
闖進數學世界――探秘歷史名題
-
>
中醫基礎理論
-
>
當代中國政府與政治(新編21世紀公共管理系列教材)
-
>
高校軍事課教程
-
>
思想道德與法治(2021年版)
-
>
毛澤東思想和中國特色社會主義理論體系概論(2021年版)
-
>
中醫內科學·全國中醫藥行業高等教育“十四五”規劃教材
高等教育質量工程信息技術系列示范教材Python大學教程 版權信息
- ISBN:9787302504542
- 條形碼:9787302504542 ; 978-7-302-50454-2
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
高等教育質量工程信息技術系列示范教材Python大學教程 本書特色
? 彰顯“計算思維 + 語言藝術 + 工程規范”的程序設計教育理念。 ? 概念力求精準,突出思想性、啟發性、本質性。 ? 結構力求嚴謹、緊湊,便于知識總結、梳理。 ? 例題力求經典,例程力求簡短,便于閱讀、理解。 ? 素材力求豐富,創造一個良好的知識建構環境和后期學習參考。 ? 習題力求豐富、多樣,減輕教師開發題目的負擔。 ? 零起點、輕松入門、螺旋式深入,適合不同層次的教學。 ? 以Python 3.6.1為藍本,例程多在IDLE界面上調試,以便初學者快速掌握Python語法。
高等教育質量工程信息技術系列示范教材Python大學教程 內容簡介
本書是高等學校Python基礎課程的教材。全書由7個單元組成。單元介紹Python的基本知識,內容包括Python的特點、數據對象、變量、輸入輸出等,使讀者對Python有一個初步了解;第2單元為Python程序結構,內容包括選擇結構、循環結構、函數、模塊、異常處理等;第3單元為容器,內容包括序列容器、無序容器、迭代器、生成器與推導表達式;第4單元為面向類的程序設計,內容包括類與對象、類與對象的通用屬性與操作、類的繼承;第5單元為Python數據處理,內容包括文件操作、數據庫操作、文件與目錄管理;第6單元為Python網絡編程,內容包括Python Socket編程、Python WWW應用開發;第7單元為Python GUI開發,內容包括GUI三要素、GUI程序結構、GUI制作示例。 本書力求內容精練、概念準確、代碼便于閱讀、習題豐富全面、適合教也容易學。為了便于初學者很快能使用以豐富的模塊支撐的Python環境,書后給出了Python運算符、Python內置函數、Python標準模塊庫目錄和Python 3.0標準異常類結構。 本書適合作為高等學校零基礎開設Python課程的教材,也適合作為程序設計愛好者和有關專業人員學習的參考書。
高等教育質量工程信息技術系列示范教材Python大學教程 目錄
目錄
第1單元 Python起步 1
1.1 程序設計語言與Python 1
1.1.1 計算機程序設計語言 1
1.1.2 高級程序設計語言分類 3
1.1.3 Python及其特點 6
1.1.4 Python模塊與腳本文件 8
練習1.1 11
1.2 Python數值對象類型 12
1.2.1 Python數據類型 12
1.2.2 Python內置數值類型 13
1.2.3 Decimal和Fraction 15
練習1.2 16
1.3 Python數據對象、變量與賦值 17
1.3.1 Python可變對象與不可變對象 17
1.3.2 Python變量與賦值操作 18
1.3.3 Python垃圾回收與對象生命期 21
1.3.4 Python標識符與保留字 22
練習1.3 23
1.4 數值計算——萬能計算器 24
1.4.1 內置算術操作符與算術表達式 24
1.4.2 內置數學函數 27
1.4.3 math模塊 29
練習1.4 31
1.5 輸入與輸出 32
1.5.1 回顯與print()函數的基本用法 32
1.5.2 轉義字符與print()函數的格式控制 33
1.5.3 input()函數 37
練習1.5 37
第2單元 Python程序結構 38
2.1 命題與判斷 39
2.1.1 布爾類型 39
2.1.2 比較表達式 39
2.1.3 邏輯表達式 40
2.1.4 身份判定操作 43
練習2.1 43
2.2 選擇結構 45
2.2.1 if-else型選擇結構 45
2.2.2 if-else嵌套與if-elif選擇結構 47
練習2.2 49
2.3 循環結構 50
2.3.1 while語句 51
2.3.2 for語句 52
2.3.3 循環嵌套 54
2.3.4 循環中斷與短路控制 56
2.3.5 窮舉 59
2.3.6 迭代 61
2.3.7 確定性模擬 66
2.3.8 隨機模擬與random模塊 68
練習2.3 71
2.4 函數 73
2.4.1 函數調用、定義與返回 73
2.4.2 基于函數的變量作用域 77
2.4.3 函數參數技術 79
2.4.4 函數標注 83
2.4.5 遞歸 84
2.4.6 lambda表達式 88
練習2.4 89
2.5 程序異常處理 92
2.5.1 異常處理的基本思路與異常類型 93
2.5.2 try-except語句 94
2.5.3 控制異常捕獲范圍 96
2.5.4 else子句與finally子句 96
2.5.5 異常的人工顯式觸發:raise與assert 97
練習2.5 98
第3單元 容器 100
3.1 序列容器 100
3.1.1 序列對象的構建 100
3.1.2 序列通用操作 102
3.1.3 列表的個性化操作 108
3.1.4 字符串的個性化操作 111
3.1.5 字符串編碼與解碼 114
3.1.6 字符串格式化與format()方法 116
3.1.7 正則表達式 119
練習3.1 125
3.2 無序容器 129
3.2.1 字典 129
3.2.2 集合 132
練習3.2 135
3.3 迭代器、生成器與推導表達式 138
3.3.1 迭代器 138
3.3.2 生成器 139
3.3.3 推導表達式 144
練習3.3 147
第4單元 面向類的程序設計 150
4.1 類及其組成 150
4.1.1 類模型及其語法 150
4.1.2 類對象、實例對象與__init__ ()方法 152
4.1.3 *小特權原則與對象成員訪問限制 155
4.1.4 實例方法、靜態方法與類方法 158
練習4.1 159
4.2 Python內置的類屬性、方法與函數 161
4.2.1 內置的類屬性 161
4.2.2 獲取類與對象特征的內置函數 162
4.2.3 操作符重載 166
4.2.4 可定制的內置方法 168
練習4.2 176
4.3 類的繼承 178
4.3.1 類的繼承及其關系測試 178
4.3.2 新式類與object 180
4.3.3 子類訪問父類成員的規則 182
4.3.4 子類實例的初始化與super 182
練習4.3 187
高等教育質量工程信息技術系列示范教材Python大學教程 節選
第5單元 Python數據處理 今天,人們已經進入信息時代。在信息時代,人類社會的支撐資源已經從物質和能源為中心,轉移到了以信息資源為中心。計算機的主要職能也從早先的“計算”轉移到了以數據處理(data processing)為中心的信息處理。數據是信息的記錄形式。數據處理主要由對數據的采集、存儲、檢索、加工、變換和傳輸等環節組成。這些處理必須以強大的數據存儲為支撐,并且還依賴于機器的速度和軟件的處理方式。迄今為止,數據處理的軟件技術已經呈現出文件系統和數據庫兩大基本技術平臺。Python作為一種程序設計語言,也具有了對文件技術和數據庫技術的支撐。 5.1 Python文件操作 5.1.1 文件對象及其操作過程 1. 文件及其類型 文件(file)是建立在外存中的數據容器,由這種容器類可以創建具體的文件實例對象。這種基于外存的容器與基于內存的容器之間*大的區別在于所存放的內容可以長期保存,不受停電、關機、程序結束的影響。 文件可以有如下一些分類方法。 1)按照存儲的內容分類 按照存儲的內容性質,文件可以分為程序文件和數據文件兩大類。程序文件存儲的內容是程序。Python程序文件以.py為后綴,而數據文件的后綴則以內容和用途等不同而異。 2)按照讀寫順序分類 按照讀寫方式,文件分為順序讀寫文件(簡稱順序文件)和隨機讀寫文件(簡稱隨機文件)兩種。順序文件只能按照先后順序進行讀寫,程序文件就是順序文件。隨機文件可以在文件的任意位置進行讀寫。 3)按照編碼方式分類 按照編碼方式,數據文件分為文本文件(text file)和二進制文件(binary file)兩種。它們以文件名后綴相區分,文本文件的文件名后綴為.txt,二進制文件的文件名后綴為.dat。 文本文件以字符為單位進行存儲,即文本文件是字符串組成的文件。純文本文件(txt文件)、HTML文件和XML文件都是常見的文本文件。文本文件的存儲與解釋,與采用的編碼方式有關,并且需要編碼/解碼環節。*早的編碼采用ASCII,用1B(8b)表示一個字符。后來出現了Unicode編碼,用4B(32b)表示一個字符。ASCII占用的存儲空間小,但能表示的字符數量少。Unicode表示的符號數量達100多萬個(囊括了世界上絕大部分語言文字),但是占用的存儲空間也很大。為此人們開發出了UFT-8,它可以根據符號的種類自動選擇編碼的長短,例如,用1B表示英文字符,用3B(24b)表示中文文字等。Python 3.0以后開始全面支持Unicode,并能夠自動對文本進行UFT-8編碼和解碼處理。 二進制文件以字節為單位進行存儲,即二進制文件是字節串組成的文件。一般不可顯示的數據,如音頻、圖像、視頻等數據都以二進制文件存儲。對二進制文件的操作,不需要任何形式的編碼和解碼處理。為了將音頻、圖像、視頻等信號轉變為字節串,需要專門的軟件。這些軟件可以由一些序列化模塊提供,如struct、pickle、json、marshal、shelve等。 4)按照緩沖區的使用情況分類 緩沖區是內存中的一個區域,它一端連接CPU,另一端連接外部存儲設備。如圖5.1所示,緩沖區分為輸入緩沖區和輸出緩沖區。 圖5.1 數據文件與緩沖區 文件緩沖區可以提高高速設備的效率。因為CPU是高速設備,外部存儲器是低速設備。若兩種設備直接連接進行數據交換,必然要使高速設備按照低速設備的速度工作,這樣就大大降低了高速設備的使用效率。在兩者之間增加一個緩沖區,使高速設備只在需要時才與緩沖區打交道,其他時間可以從事別的工作,從而大大提高了使用效率。這樣也就避免頻繁地啟動低速的外部存儲設備。外部存儲設備一般采用磁盤存儲器。磁盤存儲器每一次讀寫都要移動磁頭并尋找磁道扇區。使用緩沖區,可以將要寫入磁盤的數據裝滿緩沖區后才一起送到磁盤,不用則每一次讀寫操作都要啟動一次磁頭。 文件操作比較依賴操作系統的I/O控制。通常標準I/O可以提供3種類型的緩沖區。 (1)全緩沖區。這種緩沖方式要求填滿整個緩沖區后才進行I/O系統調用操作。對于磁盤文件的操作通常使用全緩沖的方式訪問。 (2)行緩沖區。在這種情況下,當在輸入和輸出中遇到換行符時,標準I/O庫函數將會執行系統調用操作。當所操作的流涉及一個終端時(例如標準輸入和標準輸出),使用行緩沖方式。因為標準I/O庫每行的緩沖區長度是固定的,所以只要填滿了緩沖區,即使還沒遇到換行符,也會執行I/O系統調用操作。 (3)無緩沖區。無緩沖區是指不進行緩存,直接調用系統調用。 2. 文件對象 在Python中,一切皆對象。對于文件操作來說,程序要創建的“對象”并非文件,而是應用程序與要讀寫的文件之間的通道。這個通道在Windows系統中稱為文件句柄(file handle),在UNIX/Linux系統中稱為文件描述符,也可以將其統稱為文件標簽。通過它,可以獲取或建立文件的有關信息。只有這個通道建立了,才能有效地進行文件的讀寫等 操作。 此外,在創建文件對象的同時,系統還會自動創建3個標準I/O對象。 (1)stdin(標準輸入)。 (2)stdout(標準輸出)。 (3)stderr(標準錯誤輸出)。 這3個對象都與終端連接,可以方便數據的輸入與輸出。 3. 文件對象的操作過程 不管是文本文件,還是二進制文件,它們的操作過程大體上都分為三步:創建文件對象(即打開文件)、文件讀寫等操作和關閉文件。 1)打開文件 打開文件是創建文件對象的操作,如上所述,創建了文件對象,就拿到了操作系統對這次文件操作的令牌——文件句柄或文件描述符,就可以獲得對文件進行操作的權限,以及可以使用的緩沖區。 2)文件操作 文件對象創建之后,就可以對文件進行操作了。操作內容的核心是讀寫。讀就是從外存中將數據讀到內存程序中,寫就是將程序中的數據寫向外存。 3)關閉文件 如前所述,在文件操作時,各種操作的數據都會首先保存在緩沖區中,除非緩沖區滿或執行關閉操作,否則不會將緩沖區中的內容寫到外存。文件關閉操作的主要作用是將留在緩沖區的信息*后一次寫入外存,切斷程序與外存中該文件的通道。如果不執行文件關閉——關閉文件標簽,就停止程序運行,就有可能丟失信息。 文件關閉要使用文件對象的方法close()。 5.1.2 文件打開函數open() 1.open()的語法 通常,把文件對象的創建形象地稱為文件打開。在Python中,*常用的文件打開方式是使用Python的內置函數open()。它執行后創建一個文件對象和3個標準I/O對象,并返回一個文件描述符(句柄)。其語法如下。 open(filename[,mode[,buffering[,encoding[,errors[, newline[,closefd=True]]]]]]) 2. 參數說明 1)filename:文件名 filename是要打開的文件名,是open()函數中唯一不可或缺的參數。通常,上述filename是包含了文件存儲路徑在內的完整文件名。只有被打開的文件位于當前工作路徑下時,才可以忽略路徑部分。 為了把文件建立在特定位置,可以在交互環境下用os模塊中的os.mkdir()函數。 代碼5-1 創建一個文件夾。 >>> import os >>> os.mkdir(('D:\myPythonTest')) 如果在給定路徑或當前路徑下找不到指定的文件名,將會觸發IOError。 2)mode:文件打開的模式 文件打開時需要指定打開模式。打開模式主要用于向系統請求下列資源。 (1)打開后是進行文本文件操作(以't'表示),還是二進制文件操作(以'b'表示),以便系統進行相應的編碼配置。 (2)打開后是要進行讀操作(以'r'或缺省表示),還是寫操作(以'w'表示覆蓋式從頭寫,用'a'表示在文件尾部追加式寫)或讀寫操作(以'+'表示),以便系統為其配備相應的緩沖區、建立相應的標準I/O對象并初始化文件指針位置是在文件頭('r'或缺省、'w'),還是在文件尾('a')。 (3)用'U'表示以通用換行符模式打開。一般說來,不同平臺用來表示行結束的符號是不同的, 例如 \n、\r, 或者 \r\n 。如果只寫一種處理換行符的方法,就無法被其他平臺認可,若要為每一個平臺都寫一個方法又太麻煩了。為此,Python 2.3 創建了一個特殊換行符newline(\n)。當使用 'U' 標志打開文件時,所有的行分隔符(或行結束符,無論它原來是什么)通過 Python 的輸入方法(例如read())返回時都會被替換為newline(\n),同時還用對象的 newlines 屬性記錄它曾“看到的”文件的行結束符。 上述基本的打開模式符號可以組合成表5.1所示的文件打開模式。 表5.1 組合的文件打開模式 文件打開模式 操 作 說 明 文本文件 二進制文件 r rb 以只讀方式打開,是默認模式,必須保證文件存在 rU 或 Ua 以讀方式打開文本文件, 同時支持文件含特殊字符(如換行符) w wb 以寫方式新建一個文件,若已存在則自動清空 a ab 以追加模式打開:若文件存在,則從 EOF 開始寫;若文件不存在,則創建新文件寫 r + rb+ 以讀寫模式打開 w+ wb+ 以讀寫模式新建一個文件(參見 w) a+ ab+ 以讀寫模式打開(參見 a) 3)buffering:設置buffer 0:代表buffer關閉(只適用于二進制模式)。 1:代表line buffer(只適用于文本模式)。 >1:表示初始化的buffer大小。 若不提供該參數或者給定負值,則按照如下系統默認緩沖機制進行。 (1)二進制文件使用固定大小緩沖區。緩沖區大小由io.DEFAULT_BUFFER_SIZE指定,一般為4096B或8192B。 (2)對文本文件,若isatty()返回True,使用行緩沖區;其他與二進制文件相同。 4)errors:報錯級別 strict:字符編碼出現問題時會報錯。
高等教育質量工程信息技術系列示范教材Python大學教程 作者簡介
張基溫,研究和教學領域涉及計算機科學與技術、信息管理、信息經濟學、電子政務與電子商務、新媒體、服務科學,發表論文百余篇,出版著作百余種;先后擔任名古屋大學訪問學者,山西財經大學、江南大學、華東政法大學、福建工程學院、晉城學院、廣西職業技術學院等多所大學的專職、客座或兼職教授,北京大學博雅方略城市發展與信息化研究中心研究員,南京大學出版社總編顧問,太原高新技術區IT研究院實驗室主任,山西省緊缺人才專家委員會副主任等職,中國信息經濟學會常務理事,全國高等院校計算機基礎教育研究會常務理事兼課程建設委員會副主任,中國計算機學會教育專業委員會委員,教育部NIT考試委員會委員,江蘇省計算機基礎教學指導委員會委員,山西省新世紀專家學者協會副會長;為清華大學出版社、電子工業出版社、中國水利水電出版社、南京大學出版社等出版社主編了信息管理與信息系統專業、計算機實驗與實踐、大學生信息素養等多個系列教材。在面向過程程序設計教學領域,從20世紀80年代初就開始進行有關研究和改革,嘗試將軟件工程方法和算法思想引入程序設計,倡導“程序設計=計算思維+語言藝術+工程規范”的程序設計教育理念,推行“以思維訓練為核心,程序測試與程序設計并行”、“前期重在邏輯思維和方法訓練、語法夠用就行;后期進行語法細節補充”的程序設計課程教學方法。他主筆并與他人聯合署名的《C語言程序設計教程》是國家級十一五規劃教材,并于2007年被評為國家級精品教材。
- >
山海經
- >
月亮與六便士
- >
巴金-再思錄
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)
- >
伯納黛特,你要去哪(2021新版)
- >
二體千字文
- >
苦雨齋序跋文-周作人自編集
- >
自卑與超越