|
1 | 1 | # Practical Python Programming
|
2 | 2 |
|
3 |
| -## [1. Introduction to Python](01_Introduction/00_Overview) |
4 |
| - |
5 |
| -* [1.1 Introducing Python](01_Introduction/01_Python) |
6 |
| -* [1.2 A First Program](01_Introduction/02_Hello_world) |
7 |
| -* [1.3 Numbers](01_Introduction/03_Numbers) |
8 |
| -* [1.4 Strings](01_Introduction/04_Strings) |
9 |
| -* [1.5 Lists](01_Introduction/05_Lists) |
10 |
| -* [1.6 Files](01_Introduction/06_Files) |
11 |
| -* [1.7 Functions](01_Introduction/07_Functions) |
12 |
| - |
13 |
| -## [2. Working with Data](02_Working_with_data/00_Overview) |
14 |
| - |
15 |
| -* [2.1 Datatypes and Data Structures](02_Working_with_data/01_Datatypes) |
16 |
| -* [2.2 Containers](02_Working_with_data/02_Containers) |
17 |
| -* [2.3 Formatted Output](02_Working_with_data/03_Formatting) |
18 |
| -* [2.4 Sequences](02_Working_with_data/04_Sequences) |
19 |
| -* [2.5 Collections module](02_Working_with_data/05_Collections) |
20 |
| -* [2.6 List comprehensions](02_Working_with_data/06_List_comprehension) |
21 |
| -* [2.7 Object model](02_Working_with_data/07_Objects) |
22 |
| - |
23 |
| -## [3. Program Organization](03_Program_organization/00_Overview) |
24 |
| - |
25 |
| -* [3.1 Functions and Script Writing](03_Program_organization/01_Script) |
26 |
| -* [3.2 More Detail on Functions](03_Program_organization/02_More_functions) |
27 |
| -* [3.3 Exception Handling](03_Program_organization/03_Error_checking) |
28 |
| -* [3.4 Modules](03_Program_organization/04_Modules) |
29 |
| -* [3.5 Main module](03_Program_organization/05_Main_module) |
30 |
| -* [3.6 Design Discussion about Embracing Flexibilty](03_Program_organization/06_Design_discussion) |
31 |
| - |
32 |
| -## [4. Classes and Objects](04_Classes_objects/00_Overview) |
33 |
| - |
34 |
| -* [4.1 Introducing Classes](04_Classes_objects/01_Class) |
35 |
| -* [4.2 Inheritance](04_Classes_objects/02_Inheritance) |
36 |
| -* [4.3 Special Methods](04_Classes_objects/03_Special_methods) |
37 |
| -* [4.4 Defining new Exception](04_Classes_objects/04_Defining_exceptions) |
38 |
| - |
39 |
| -## [5. The Inner Workings of Python Objects](05_Object_model/00_Overview) |
40 |
| - |
41 |
| -* [5.1 Dictionaries Revisited (Object Implementation)](05_Object_model/01_Dicts_revisited) |
42 |
| -* [5.2 Encapsulation Techniques](05_Object_model/02_Classes_encapsulation) |
43 |
| - |
44 |
| -## [6. Generators](06_Generators/00_Overview) |
45 |
| - |
46 |
| -* [6.1 Iteration Protocol](06_Generators/01_Iteration_protocol) |
47 |
| -* [6.2 Customizing Iteration with Generators](06_Generators/02_Customizing_iteration) |
48 |
| -* [6.3 Producer/Consumer Problems and Workflows](06_Generators/03_Producers_consumers) |
49 |
| -* [6.4 Generator Expressions](06_Generators/04_More_generators) |
50 |
| - |
51 |
| -## [7. A Few Advanced Topics](07_Advanced_Topics/00_Overview) |
52 |
| - |
53 |
| -* [7.1 Variable argument functions](07_Advanced_Topics/01_Variable_arguments) |
54 |
| -* [7.2 Anonymous functions and lambda](07_Advanced_Topics/02_Anonymous_function) |
55 |
| -* [7.3 Returning function and closures](07_Advanced_Topics/03_Retuning_functions) |
56 |
| -* [7.4 Function decorators](07_Advanced_Topics/04_Function_decorators) |
57 |
| -* [7.5 Static and class methods](07_Advanced_Topics/05_Decorated_methods) |
58 |
| - |
59 |
| -## [8. Testing, Logging, and Debugging](08_Testing_debugging/00_Overview) |
60 |
| - |
61 |
| -* [8.1 Testing](08_Testing_debugging/01_Testing) |
62 |
| -* [8.2 Logging, error handling and diagnostics](08_Testing_debugging/02_Logging) |
63 |
| -* [8.3 Debugging](08_Testing_debugging/03_Debugging) |
64 |
| - |
65 |
| -## [9. Packages](09_Packages/00_Overview) |
66 |
| - |
67 |
| -* [9.1 Packages](09_Packages/01_Packages) |
68 |
| -* [9.2 Third Party Modules](09_Packages/02_Third_party) |
69 |
| -* [9.3 Giving your code to others](09_Packages/03_Distribution) |
70 |
| - |
71 |
| - |
72 |
| - |
| 3 | +## Table of Contents |
| 4 | + |
| 5 | +* [1. Introduction to Python](01_Introduction/00_Overview) |
| 6 | +* [2. Working with Data](02_Working_with_data/00_Overview) |
| 7 | +* [3. Program Organization](03_Program_organization/00_Overview) |
| 8 | +* [4. Classes and Objects](04_Classes_objects/00_Overview) |
| 9 | +* [5. The Inner Workings of Python Objects](05_Object_model/00_Overview) |
| 10 | +* [6. Generators](06_Generators/00_Overview) |
| 11 | +* [7. A Few Advanced Topics](07_Advanced_Topics/00_Overview) |
| 12 | +* [8. Testing, Logging, and Debugging](08_Testing_debugging/00_Overview) |
| 13 | +* [9. Packages](09_Packages/00_Overview) |
| 14 | + |
| 15 | +## Acknowledgements |
| 16 | + |
| 17 | +Llorenç Muntaner was instrumental in converting the course content from |
| 18 | +Apple Keynote to the online structure that you see here. |
| 19 | + |
| 20 | +Various instructors have presented this course at one time or another |
| 21 | +over the last decade. This includes (in alphabetical order): Ned |
| 22 | +Batchelder, Juan Pablo Claude, Mark Fenner, Michael Foord, Matt |
| 23 | +Harrison, Raymond Hettinger, Daniel Klein, Travis Oliphant, James |
| 24 | +Powell, Michael Selik, Hugo Shi, Ian Stokes-Rees, Yarko Tymciurak, |
| 25 | +Bryan Van de ven, Peter Wang, and Mark Wiebe. |
| 26 | + |
| 27 | +I'd also like to thank the thousands of students who took this |
| 28 | +course and contributed to its success with their feedback and discussion. |
73 | 29 |
|
74 | 30 |
|
75 | 31 |
|
|
0 commit comments