Python 計算與編程實踐 多媒體方法, 4/e (Introduction to Computing and Programming in Python, 4/e)
Mark Guzdial , Barbara Ericson 王海鵬,孫朝軍譯
- 出版商: 人民郵電
- 出版日期: 2020-04-01
- 定價: $594
- 售價: 8.5 折 $505
- 語言: 簡體中文
- 頁數: 394
- 裝訂: 平裝
- ISBN: 7115522669
- ISBN-13: 9787115522665
-
相關分類:
Python、程式語言
- 此書翻譯自: Introduction to Computing and Programming in Python, 4/e(Paperback)
立即出貨
買這商品的人也買了...
-
$301Node.js實戰(第2季)
-
$450$356 -
$354$336 -
$403RxJava 2.x 實戰
-
$403Java 編程方法論:響應式 RxJava 與代碼設計實戰
-
$300$270 -
$305Python 游戲設計案例實戰
-
$450$405 -
$280$266 -
$454Python 圖形編程:2D 和 3D 圖像的創建
-
$505Python 第三方庫開發應用實戰
-
$327$311 -
$347基於Python的語料庫數據處理
-
$480$379 -
$550$495 -
$536Python深度學習:邏輯、算法與編程實戰
-
$602反應式編程實戰 使用 RxJava 2.x 開發 Android 應用 (RxJava for Android Developers: with ReactiveX and FRP)
-
$390$351 -
$458Python 編程與 3D物理學模擬 (視頻版)
-
$880$695 -
$714$678 -
$403Python + Office:輕松實現 Python 辦公自動化
-
$630$536 -
$1,200$948 -
$560$442
相關主題
商品描述
本書是一本獨特的Python程序設計教程,使用媒體計算的方法教授Python編程。
全書共17章(分為4個部分)和1個附錄。
*1部分是前6章,介紹了計算機科學、媒體計算、編程的概念,以及操作文本、圖片、修改像素等編程技巧。
*2部分是第7章到*10章,主要介紹用Python概念對聲音媒體進行各種操作。
第3部分是*11章到*13章,主要介紹針對文本、網絡、數據庫的Python編程,
還介紹了函數式編程、遞歸的思想和應用。
第4部分是*14到*17章,主要介紹視頻文件的編程操作,還介紹了面向對象編程的思想和方法。
附錄部分給出了Python語言的快速參考。
本書通過媒體計算的方法,幫助讀者輕鬆地學習和掌握計算機科學思想和編程方法,
適合作為高等院校計算機專業Python程序設計、多媒體編程等課程的教材,
也適合對Python編程感興趣的讀者自學參考。
作者簡介
Mark Guzdial
美國佐治亞理工學院計算機學院交互計算系教授、ACM國際計算教育研究研討會系列的創始人之一、
ACM院士和傑出教育家、Journal of the Learning Sciences和Communications of the ACM的編輯委員會成員、
2012年IEEE計算機學會本科教學獎的獲得者。他的研究重點是學習科學和技術,特別是計算教育研究。
Barbara Ericson
研究科學家、美國佐治亞理工學院計算機學院計算外展系主任,
曾擔任美國計算機科學教師協會董事會的教師教育代表、
美國國家信息技術女性中心K-12聯盟的聯合主席以及AP計算機科學考試的*級講師。
她的研究領域包括計算機圖形學、人工智能、醫學和麵向對象編程。
馬克和芭芭拉因在媒體計算方面的工作(包括本書),
獲得了2010年ACM Karl V.Karlstrom傑出計算機教育者獎。
目錄大綱
目錄:
第1部分引言
第1章計算機科學與媒體計算概述........2
1.1什麼是計算機科學..................... ..2
1.2編程語言.......................................5
1.3計算機理解的東西.......................7
1.4媒體計算:為什麼要
數字化媒體................. ..................9
1.5每個人的計算機科學.................10
1.5.1它與溝通有關..................10
1.5.2它與過程有關..................11
1.5.3你可能需要它................. .11
問題............................................... ......11
深入學習......................................... .....13
第2章編程簡介......................................14
2.1編程是關於命名的.....................14
文件及其名稱.................. ............15
2.2 Python中的編程.........................16
2.3 JES中的編程. .............................17
2.4 JES中的媒體計算.............. ........18
2.4.1顯示圖片..........................22
2.4.2播放聲音.... ......................24
2.4.3為值命名..................... .....25
2.5製作一個程序.............................27
函數:真正像數學的
函數接受輸入..............................30
編程小結.............. ................................32
問題................ .....................................32
深入學習.......... ....................................36
第3章創建和修改文本...... ....................37
3.1字符串:在計算機中製作
人類文本................... ..................37
從字符串製作字符串:
講故事...................... ....................39
3.2用for來拆分字符串..................41
3.2. 1測試這些字母................. 43
3.2.2拆分字符串,合併
字符串................. ............ 45
3.2.3用索引拆分字符串.......... 48
3.2.4使用索引實現鏡像、
反轉和分離字符串... ...... 50
3.2.5使用關鍵字密碼對字符串
進行編碼和解碼............. 52
3.3按單詞拆分字符串.................... 53
3.4字符串內部是什麼.................... 55
3.5計算機能做什麼...................... .. 56
編程小結............................................. 57
程序片段..................................... 57
字符串程序片段..... .................... 57
問題............................ ........................ 57
深入學習....................... ...................... 61\
第4章使用循環修改圖片.................... . 62
4.1如何編碼圖片............................ 62
4.2操作圖片............ ........................ 66
瀏覽圖片....................... .............. 70
4.3更改顏色值............................... . 71
4.3.1在圖片中使用循環.......... 71
4.3.2增加/減少紅色(綠色、
藍色)............................. 73
4.3.3測試程序:這真的
有效嗎............................. 77
4.3.4一次更改一種顏色........ .. 77
4.4創造日落.................................... 78
理解函數..... ................................ 78
4.5變亮和變暗........... ..................... 83
4.6創造負片......................... ........... 84
4.7轉換為灰度圖............................ 85
4.8用索引指定像素........................ 86
編程小結..................... ........................ 89
圖片程序片段...................... ....... 89
像素程序片段..............................90
顏色程序片段..... .........................90
問題................................................. ....90
深入學習........................................... ...93
第5章使用選擇的圖片技術..................94
5.1替換顏色:紅眼、棕褐色調,
海報化....... ..................................94
5.1.1減少紅眼.......... ................97
5.1.2棕褐色調和海報化圖片:
使用條件選擇顏色..........99
5.2比較像素:邊緣檢測.. ................103
5.3背景消除.............................. .....105
5.4摳像......................................... ..108
5.5在範圍內著色........................... 111
5.5.1添加邊框......... ............... 111
5.5.2加亮圖片的右半部分....112
5.6選擇無需再次測試.............. .....113
編程小結.......................................... ..115
問題................................................. ..115
深入學習............................................117
第6章按位置修改像素........................118
6.1更快地處理像素............ ...........118
6.1.1用range在像素上
循環............................. ..119
6.1.2編寫更快的像素循環....121
6.2鏡像圖片.............................. .....122
6.3複製和轉換圖片.......................128
6.3.1複製........... .....................129
6.3.2複製到較小的圖片和
修改................. ..............133
6.3.3複製和引用....................135
6.3.4創建拼貼圖.. ..................136
6.3.5通用複制........................139
6.3 .6旋轉................................140
6.3.7縮放................................142
6.4組合像素:模糊........ ...............146
6.5混合圖片............................... ....148
6.6繪製圖像...................................150
6.6.1使用繪圖命令繪圖........151
6.6.2矢量和位圖表示............ 152
6.7程序作為指定繪圖的過程....... 154
我們為什麼要編寫程序............ 155
編程小結.................................. ......... 156
問題....................................... ........... 156
深入學習.................................... ....... 161
第2部分聲音
第7章用循環修改聲音....................... 164
7.1聲音如何編碼... ....................... 164
7.1.1聲音的物理學............... 164
7.1.2研究不同的聲音............ 166
7.1.3編碼聲音....................... 169
7.1.4二進制數和
二進制補碼............ ....... 170
7.1.5存儲數字化的聲音........ 171
7.2操作聲音....................... ........... 172
7.2.1打開聲音和操作
樣本集........................... 172
7.2 .2使用JES MediaTools .... 175
7.2.3循環............................... 176
7.3改變聲音的音量...................... 177
7.3.1增加音量..................... .. 177
7.3.2真的有效嗎................... 178
7.3.3減小音量.............. ......... 181
7.3.4使用數組索引表示法.... 182
7.3.5在聲音中理解函數........ 182
7.4規格化聲音...... ........................ 183
產生削波...................... ............. 184
編程小結........................................... 185
聲音文件函數和片段............... 186
聲音對象函數和片段............... 186
面向樣本的函數和片段...... ...... 186
問題.......................................... ........ 186
深入學習....................................... .... 188
第8章修改範圍中的樣本................... 189
8.1對聲音的不同部分進行
不同操作........ .......................... 189
複習索引數組表示法............... 190
8.2拼接聲音...................................192
8.3通用剪輯和復制........ ...............197
8.4反轉聲音.............................. .....199
8.5鏡像.......................................... .200
8.6關於函數和作用域...................201
編程小結............................................203
問題.. .................................................203
深入學習............................................204
第9章通過組合片段製作聲音............205
9.1通過疊加合成聲音...................205
9.2混合聲音.... ...............................206
9.3創建迴聲............... ....................207
9.3.1創建多個迴聲................208
9.3.2創建和弦........................209
9.4採樣鍵盤的工作原理...............209
採樣作為算法............................213
9.5疊加式合成................. ..............213
9.5.1製作正弦波....................213
9.5.2疊加正弦波.. ..................215
9.5.3檢查結果........................215
9.5.4方波................................216
9.5.5三角波........ ....................218
9.6現代音樂合成......................... ..219
9.6.1 MP3 ................................220
9.6.2 MIDI...... .........................220
編程小結...................... ......................221
問題.......................... .........................221
深入學習...................... ......................223
第10章構建更大的程序................... ...224
10.1自頂向下設計程序.................225
10.1.1自頂向下的設計
實例........... ..................225
10.1.2設計頂層函數..............226
10.1.3編寫子函數.... ..............228
10.2自底向上設計程序.................231
自底向上過程的示例................232
10.3測試程序........................ .........232
測試邊界條件............................234
10.4關於調試的提示... ..................234
10.4.1尋找要擔心的語句...... 235
10.4.2查看變量........... .......... 235
10.4.3調試冒險遊戲.............. 237
10.5算法和設計.............. .............. 240
10.6連接到函數外的數據............. 240
10.7在JES之外運行程序....... ..... 243
編程小結.......................................... . 245
問題............................................... ... 246
深入學習........................................... 248
第3部分文本、文件、網絡、
數據庫和統一媒體
第11章使用方法操作文本和文件..... 250
11.1作為統一媒體的文本............. 250
11.2操作部分字符串..................... 250
11.2.1字符串方法:介紹
對象和點表示法......... 251
11.2.2列表:強大的結構化
文本............................. 253
11.2.3字符串沒有字體... ....... 255
11.3文件:放置字符串和其他
東西的地方............................ 255
11.3. 1打開和操作文件.......... 257
11.3.2生成套用信函.............. 258
11.3.3從因特網讀取和
操作數據... .................. 259
11.3.4從網頁上抓取信息...... 261
11.3.5讀取CSV數據........ .... 262
11.3.6編寫程序...................... 263
11.4 Python標準庫............. ........... 264
11.4.1再談導入和你自己的
模塊........................... .. 265
11.4.2用隨機數為程序添加
不可預測性................. 266
11.4.3利用庫讀取CSV
文件............................. 267
11.4.4 Python標準庫的
例子... .......................... 268
編程小結..................... ...................... 268
通用程序片段........................ ....268
字符串函數、函數、
方法和片段...................269
列表函數和片段............ ............269
問題.................................... ...............269
深入學習................................ ............271
第12章*級文本技巧:Web和信息...272
12.1網絡:從網上獲取文本.........272
12.1.1自動訪問CSV數據....275
12.1.2訪問FTP ......................276
12.2使用文本在媒體之間轉換.....276
12.3在媒體之間移動信息.............279
12.4使用列表作為媒體表示的
結構文本.................................281
12.5在圖片中隱藏信息........ .........282
將聲音隱藏圖片內....................284
編程小結............ ................................285
通用程序片段.............. ..............285
問題.................................. .................286
深入學習.............................. ..............287
第13章為Web創建文本....................288
13.1 HTML:網頁的表示法..........288
13.2編寫程序生成HTML.............291
製作主頁.................. ..................293
13.3數據庫:存儲文本的地方.....296
13.3.1關係數據庫............. .....298
13.3.2使用散列表的示例
關係數據庫..................298
13.3.3使用SQL .......... ...........301
13.3.4用數據庫構建網頁......303
問題................................... ................304
深入學習............................... .............306
第4部分影片
第14章創建和修改影片......................308
14.1生成動畫.................................309
14.2使用視頻源........... ..................316
視頻操作示例............................ 316
14.3自底向上建立視頻效果.........319
問題............................... ................... 323
第15章速度.......................... ............... 326
15.1關注計算機科學.................... 326
15.2什麼使程序更快... ................. 326
15.2.1計算機真正理解的
是什麼....................... .. 326
15.2.2編譯器和解釋器.......... 327
15.2.3什麼限制了計算機的
速度............................. 331
15.2.4它真不一樣嗎... ........... 333
15.2.5讓搜索更快................. 334
15.2.6永遠不會完成或無法編寫的算法. ........ 336
15.2.7為什麼Photoshop比JES更快...................... 337
15.3什麼使計算機更快... ............. 337
15.3.1時鐘頻率和實際計算... 338
15.3.2存儲:什麼使計算機變慢.............. ............... 339
15.3.3顯示............................. 340
問題................................................. . 340
深入學習........................................... 341
第16章函數式編程............................. 342
16.1使用函數讓編程更容易......... 342
16.2使用映射和歸約的函 數式編程................................ 345
16.3針對媒體的函數式編程........ . 348
不改變狀態的媒體操作............ 349
16.4遞歸:強大的思想................ 350
16.4.1遞歸目錄遍歷.............. 354
16.4.2遞歸的媒體函數.......... 356
編程小結............... ............................ 357
函數式編程.................. ..................... 357
問題........................... ....................... 358
第17章面向對象編程.................... ..... 360
17.1對象的歷史............................ 360
17.2使用海龜........ ........................ 361
17.2.1類和對象................... .. 361
17.2.2向對象發送消息.......... 362
17.2.3對象控制其狀態..........364
17.3教海龜新技巧...... ...................365
17.3.1覆蓋原有的海龜方法...367
17.3.2一次使用多只海龜......368
17.3.3帶有圖片的海龜..........369
17.3.4跳舞的海龜..................371
17.3.5遞歸和海龜..................372
17.4面向對象的幻燈片放映.........373
使Slide類更加面向對象..........376
17.5面向對象的媒體.............. .......376
17.6盒子喬.....................................380
17.7為什麼要對象.........................381
編程小結................... .........................382
面向對象編程..................... ...............383
圖形方法................................ ............383
Turtle和World的方法.....................383
問題......... ..........................................384
深入學習........................................... 386
附錄A Python快速參考...................... 387
A.1變量...................... ................... 387
A.2函數創建......................... ........ 387
A.3循環和條件.............................. 387
A.4運算符和表示函數.................. 388
A.5數字函數...................... ........... 389
A.6序列操作................................. 389
A.7字符串轉義.............................. 389
A.8有用的字符串方法... ............... 389
A.9文件.............................. ........... 390
A.10列表.................................. ..... 390
A.11字典、散列表或關聯數組.... 390
A.12外部模塊........................ ........ 390
A.13類........................................... 391
A. 14函數式方法............................ 391
參考資料............... .................................... 392