This commit is contained in:
David Beazley
2020-05-26 18:46:56 -05:00
parent 6223e9b618
commit 4986a540a9

View File

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