我要翻譯《Think Python》-002 貢獻列表 & 目錄部分
PDF原始檔地址 : http://www.greenteapress.com/thinkpython/thinkpython.pdf
貢獻列表
自從本書誕生之後,有超過上百個目光敏銳且有想法的讀者給我發來了許多建議並指出了一些需要修正的地方。他們的熱情和無私的奉獻給了我巨大的幫助。如果你有任何建議或者發現需要修正的地方,請發郵件至:[email protected]。如果您的建議被採納,您的大名將會出現在我們的貢獻人員列表(除非你本人過於低調拒絕承認).如果您發現文中的錯誤內容,敬請提供一下出錯的關鍵語句,或者章節和頁碼,這樣方便我們及時準確的找到問題所在。感謝!
[接下來的原文就是一段很長的篇幅介紹每一個為本書作出貢獻的人員姓名,以及他們做過的具體事情,為了體現精簡的原則,我就不一一翻譯了,一是我覺得沒必要,二是我即便翻譯了,您也沒時間看,通常拿到手一本書,序言是90%以上的人都懶得翻看的。
再接下來就是目錄,雖然內容多,您也不一定有耐心逐個看,但是我還是覺得有必要翻譯一下,因為我本人想先了解一下整本書的框架結構和大致內容。再者待我翻譯到後面章節的內容,如果發現翻譯得不恰當,我還會修改更正這裡目錄內容。
後記:原本以為不會花費太多時間翻譯目錄這一塊,結果花了好幾個晚上的時間對每一個小標題進行逐個理解,由於平時寫程式對這些術語概念不求甚解,所以翻譯的過程中不斷的重複著:檢視原文內容揣測標題含義,各種翻譯工具進行比較... ... 不過總算翻完了!如有翻譯得不合適的地方,敬請各位指正!]
目錄 Contents
1 程式設計方法 The way of the program
1.1 Python 程式語言 The Python programming language1.2 什麼是程式? What is a program?1.3 什麼是除錯? What is debugging?1.4 形式語言和自然語言 Formal and natural languages1.5 第一個程式 The first program1.6 除錯 Debugging 1.7 術語表 Glossary 1.8 練習 Exercises
2 變數, 表示式和語法 Variables, expressions and statements
2.1 值和型別 Values and types2.2 變數 Variables 2.3 變數名和關鍵字 Variable names and keywords2.4 運算子和運算 Operators and operands 2.5 表示式和語法 Expressions and statements 2.6 互動模式和指令碼模式 Interactive mode and script mode 2.7 運算順序 Order of operations 2.8 字串操作 String operations 2.9 註釋 Comments 2.10 除錯 Debugging2.11 術語表 Glossary2.12 練習 Exercises
3 函式 Functions
3.1 函式呼叫 Function calls3.2 型別轉換函式 Type conversion functions3.3 數學函式 Math functions3.4 類組合 Composition3.5 建立新函式 Adding new functions3.6 定義和引用 Definitions and uses3.7 執行流程 Flow of execution3.8 形參和實參 Parameters and arguments3.9 變數和形參是區域性的 Variables and parameters are local3.10 堆疊圖 Stack diagrams3.11 有返回結果函式和無返回結果函式 Fruitful functions and void functions3.12 什麼是函式 Why functions?3.13 用from匯入 Importing with from3.14 除錯 Debugging3.15 術語表 Glossary3.16 練習 Exercises
4 學習案例:介面設計 Case study: interface design
4.1 [Swampy包] - TurtleWorld TurtleWorld4.2 簡單迴圈 Simple repetition4.3 練習 Exercises4.4 封裝 Encapsulation4.5 泛化 Generalization4.6 介面設計 Interface design4.7 重構 Refactoring4.8 開發方案 A development plan4.9 文件字串 docstring4.10 除錯 Debugging4.11 術語表 Glossary4.12 練習 Exercises
5 條件和遞迴 Conditionals and recursion
5.1 求餘運算子 Modulus operator 5.2 布林表示式 Boolean expressions5.3 邏輯運算子 Logical operators5.4 條件執行 Conditional execution5.5 選擇執行 Alternative execution5.6 鏈式條件 Chained conditionals5.7 嵌入條件 Nested conditionals5.8 遞迴 Recursion5.9 遞迴函式堆疊圖 Stack diagrams for recursive functions5.10 無限遞迴 Infinite recursion5.11 鍵盤輸入 Keyboard input5.12 除錯 Debugging5.13 術語表 Glossary5.14 練習 Exercises
6 有返回值函式 Fruitful functions
6.1 返回值 Return values6.2 增量開發 Incremental development 6.3 類組合 Composition 6.4 布林函式 Boolean functions 6.5 更多遞迴 More recursion 6.6 胸有成竹/得心應手 Leap of faith6.7 又一個例子 One more example6.8 檢查型別 Checking types 6.9 除錯 Debugging6.10 術語表 Glossary 6.11 練習 Exercises
7 迭代 Iteration
7.1 多次賦值 Multiple assignment 7.2 更新變數 Updating variables 7.3 while語句 The while statement 7.4 break用法 break 7.5 平方根 Square roots 7.6 演算法 Algorithms 7.7 除錯 Debugging 7.8 術語表 Glossary 7.9 練習 Exercises
8 字串 Strings
8.1 字串序列 A string is a sequence 8.2 len用法 len8.3 for迴圈遍歷 Traversal with a for loop 8.4 字串分割 String slices 8.5 字串是不可變的 Strings are immutable8.6 搜尋 Searching 8.7 迴圈計數 Looping and counting 8.8 字串方法 String methods 8.9 in操作 The in operator 8.10 字串比較 String comparison 8.11 除錯 Debugging 8.12 術語表 Glossary 8.13 練習 Exercises
9 案例學習:單詞遊戲 Case study: word play
9.1 讀取單詞列表 Reading word lists9.2 練習 Exercises 9.3 搜尋 Search9.4 索引迴圈 Looping with indices 9.5 除錯 Debugging 9.6 術語表 Glossary 9.7 練習 Exercises
10 列表 Lists
10.1 列表是一個序列 A list is a sequence 10.2 列表是可變的 Lists are mutable10.3 遍歷列表 Traversing a list 10.4 列表運算 List operations10.5 列表分割 List slices 10.6 列表方法 List methods10.7 對映,過濾和縮減 Map, filter and reduce 10.8 刪除元素 Deleting elements 10.9 列表和字串 Lists and strings 10.10 物件和值 Objects and values 10.11 別名 Aliasing 10.12 實參列表 List arguments 10.13 除錯 Debugging10.14 術語表 Glossary10.15 練習 Exercises
11 字典 Dictionaries
11.1 字典——計數器集合 Dictionary as a set of counters11.2 迴圈和字典 Looping and dictionaries 11.3 逆向查詢 Reverse lookup 11.4 字典和列表 Dictionaries and lists 11.5 備忘錄 Memos 11.6 全域性變數 Global variables 11.7 長整型 Long integers 11.8 除錯 Debugging 11.9 術語表 Glossary11.10 練習 Exercises
12 元組 Tuples
12.1 元組是不可變的 Tuples are immutable 12.2 元組賦值 Tuple assignment 12.3 元組作為返回值 Tuples as return values 12.4 可變長度實參元組 Variable-length argument tuples 12.5 列表和元組 Lists and tuples 12.6 字典和元組 Dictionaries and tuples 12.7 比較元組 Comparing tuples12.8 序列的序列 Sequences of sequences 12.9 除錯 Debugging 12.10 術語表 Glossary12.11 練習 Exercises
13 案例學習:資料結構選擇 Case study: data structure selection
13.1 詞頻分析 Word frequency analysis13.2 隨機數 Random numbers 13.3 單詞直方圖 Word histogram13.4 最常用單詞 Most common words 13.5 可選形參 Optional parameters13.6 字典差集 Dictionary subtraction 13.7 隨機單詞 Random words 13.8 馬爾可夫分析 Markov analysis13.9 資料結構 Data structures 13.10 分析 Debugging 13.11 詞彙表 Glossary 13.12 練習 Exercises
14 檔案 Files
14.1 持久化 Persistence 14.2 讀和寫 Reading and writing 14.3 格式化操作 Format operator 14.4 檔名和路徑 Filenames and paths 14.5 捕獲異常 Catching exceptions 14.6 資料庫 Databases 14.7 pickle用法 Pickling 14.8 管道 Pipes 14.9 編寫模組 Writing modules 14.10 除錯 Debugging 14.11 術語表 Glossary 14.12 練習 Exercises
15 類和物件 Classes and objects
15.1 使用者自定義型別 User-defined types15.2 屬性 Attributes 15.3 矩形 Rectangles 15.4 例項作為返回值 Instances as return values 15.5 物件是可變的 Objects are mutable15.6 複製 Copying 15.7 除錯 Debugging 15.8 術語表 Glossary 15.9 練習 Exercises
16 類和函式 Classes and functions
16.1 時間類 Time16.2 純函式 Pure functions16.3 類方法 Modifiers 16.4 原型vs計劃 Prototyping versus planning 16.5 除錯 Debugging 16.6 術語表 Glossary 16.7 練習 Exercises
17 類和方法 Classes and methods
17.1 面向物件的特徵 Object-oriented features 17.2 列印物件 Printing objects 17.3 另一個例子 Another example17.4 一個更復雜的例子 A more complicated example 17.5 init方法 The init method 17.6 __str__方法 The __str__ method 17.7 運算子過載 Operator overloading17.8 型別分發 Type-based dispatch 17.9 多型 Polymorphism 17.10 除錯 Debugging17.11 介面和實現 Interface and implementation17.12 術語表 Glossary 17.13 練習 Exercises
18 繼承 Inheritance
18.1 牌物件 Card objects 18.2 類屬性 Class attributes 18.3 比大小Comparing cards 18.4 一副牌 Decks 18.5 列印一副牌 Printing the deck 18.6 新增,刪除,洗牌和排序 Add, remove, shuffle and sort 18.7 繼承Inheritance 18.8 類圖 Class diagrams 18.9 除錯 Debugging18.10 資料封裝 Data encapsulation 18.11 術語表 Glossary 18.12 練習 Exercises
19 案例學習:Tkinter Case study: Tkinter
19.1 圖形使用者介面 GUI 19.2 按鈕和回撥函式 Buttons and callbacks19.3 畫布元件 Canvas widgets 19.4 座標 Coordinate sequences19.5 更多元件 More widgets19.6 打包元件 Packing widgets 19.7 選單和可呼叫物件 Menus and Callables 19.8 繫結 Binding 19.9 除錯 Debugging 19.10 術語表 Glossary 19.11 練習 Exercises
A 除錯 Debugging
A.1 語法錯誤 Syntax errorsA.2 執行時錯誤 Runtime errorsA.3 語義錯誤 Semantic errors
B 演算法分析 Analysis of Algorithms
B.1 階數增長 Order of growth B.2 基本Python運算分析 Analysis of basic Python operationsB.3 搜尋演算法分析 Analysis of search algorithms B.4 雜湊表 Hashtables
C Lumpy的用法 Lumpy
C.1 狀態圖 State diagram C.2 堆疊圖 Stack diagram C.3 物件圖 Object diagrams C.4 函式和類物件 Function and class objectsC.5 類圖 Class Diagrams