You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fd0f32d
Browse filesBrowse the repository at this point in the historyBrowse files
An introduction to practical programming with Python for programmers. A three day course. This is a course for people with programming experience but little or no knowledge of Python. This course takes developers through the basics of Python and up to an intermediate level, able to understand and program with Python for real world applications and scripting.
9
+
10
+
This course is based on the course [Practical Python by David Beazley](https://dabeaz.com/practicalpython.html)
11
+
12
+
### Syllabus
13
+
14
+
***Introduction to Python.** An introduction to the Python interpreter, core language features, and basic datatypes. By the end of this section, you'll be able to read files and perform simple calculations.
15
+
***Working with Data.** A deeper dive into how to represent and manipulate data structures. By the end of this section, you will be writing programs that read data and perform more significant kinds of calculations involving mapping, filtering, index building, and data joins.
16
+
***Program Organization, Functions, and Modules.** The problem of organizing larger programs into functions and modules is described. You'll write a useful library function, learn how to write executable scripts, and apply these concepts to your earlier work. Common standard library modules are also introduced.
17
+
***Classes and Objects.** An introduction to object-oriented programming with a focus on using objects to make code more general and extensible. Covers the basics of the class statement, data abstraction, code reuse via inheritance, and ways to objects play nice with the rest of Python using special methods.
18
+
***Inside the Python Object System.** A brief look at how objects are implemented under the hood in Python with an eye towards some of the issues that arise in designing classes (e.g., encapsulation of internals, controlling behavior, etc.).
19
+
***Iterators and Generators.** Covers the iteration protocol, iterable objects, generators and generator expressions. You'll apply this knowledge to the problem of setting up data processing pipelines--a particularly effective core organization technique for addressing a wide range problems such as processing large datafiles, handling data streams, and more.
20
+
***Some Advanced Topics.** An assortment of more advanced features you might encounter in Python programs. Includes variable argument functions, anonymous functions (lambda), closures, decorators, static and class methods.
21
+
***Testing, Debugging, and Software Development Practice.** This section discusses many isses that are considered important to day-to-day Python software development. This includes program testing using the unittest module, logging, and effective use of assertions. The Python debugger and profiler are also briefly described.
22
+
***Packages.** A discussion of how to take larger programs and organize them into a package structure. Concludes with some information on installing third-party packages and preparing your own code for installation.
This is a no-holds barred course that aims to cover the entirety of the core Python language. Major themes include advanced data manipulation, object oriented programming, metaprogramming, design tradeoffs, customization features, and knowing how Python works under the hood.
9
+
10
+
A three or four day course. Not for beginners to Python.
11
+
12
+
This course is based on the course [Advanced Python Mastery by David Beazley](https://dabeaz.com/pythonmastery.html).
13
+
14
+
### Syllabus
15
+
16
+
***Python Review (Optional).** An accelerated review of the Python language focused on features that you should already know. Covers the basic language statements, program structure, common datatypes, functions, exceptions, modules, and classes.
17
+
***Idiomatic Data Handling.** An in-depth look at data handling and data structures. A major focus of this section is on Python's built-in container types (tuples, lists, sets, dicts, etc.) with an eye towards studying their performance properties and resource use. Also covers important programming data-processing idioms such as the use of list comprehensions and generator expressions.
18
+
***Classes and Objects.** A review of the class statement and how to define new objects in Python. A major focus is on how to properly encapsulate data, and when to use features such as static methods, class methods, and properties. Concludes with a review of some common object-oriented programming techniques and advanced topics including mixin classes and weak references.
19
+
***Inside Python Objects.** A look at how the Python object system is put together under the covers. Major topics include instance and class representation, attribute binding, inheritance, the rules of the Method Resolution Order, attribute access methods, and the descriptor protocol.
20
+
***Testing, Logging, and Debugging.** Learn how to test and debug your code. Covers the doctest, unittest, and logging modules. Information on assertions, optimized run mode, the debugger, and profiler is also presented.
21
+
***Working with Code.** A detailed look at more advanced aspects of Python functions. Topics include variable argument functions, anonymous functions (lambda), scoping rules, nested functions, function introspection, closures, delayed-evaluation, and partial function application.
22
+
***Metaprogramming.** Finally understand the secret techniques used by the Python framework builders. This section covers features that allow you to manipulate code. Topics include decorators, class decorators, decorator factories, context managers, and metaclasses.
23
+
***Iterators, Generators, and Coroutines.** Covers the iteration protocol, generator functions, and coroutines. A major focus of this section is on applying generators and coroutines to problems in data processing. You will learn how to apply these features to large data files and data streams.
24
+
***Modules and Packages.** This section covers details related to using modules and packages to organize larger programs. A major focus is understanding the underlying behavior of the import statement and some of the more tricky issues related to organizing packages.
Copy file name to clipboardExpand all lines: training.md
+8-34Lines changed: 8 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,14 @@ I've been teaching Python since 2011 and it's the thing I enjoy most in the worl
8
8
9
9
For custom training packages, mentoring or team coaching please contact me: [michael@python.org](mailto:michael@python.org)
10
10
11
+
### Training Courses
12
+
13
+
*[Practical Python](/practical-python/)
14
+
A fast paced introduction to Python for programmers.
15
+
*[Advanced Python Mastery](/python-mastery/)
16
+
Become a Python expert, learning Python from the inside out.
17
+
18
+
11
19
### Testimonials
12
20
13
21
*Truly a professional. Knowledgeable, prepared to answer any question from theory and/or experience. Funny, intuitive and very helpful in any technical way.*
@@ -31,42 +39,8 @@ This course covers the mechanics of writing tests and a test framework, practica
31
39
32
40
An introduction to web application development and the testing of web applications with Selenium. Based on the course [TDD with Python by Harry Percival](https://www.obeythetestinggoat.com/). A two day course.
33
41
34
-
### Practical Python
35
-
36
-
An introduction to practical programming with Python for programmers. A three day course. This is a course for people with programming experience but little or no knowledge of Python. This course takes developers through the basics of Python and up to an intermediate level, able to understand and program with Python for real world applications and scripting.
37
-
38
-
This course is based on the course [Practical Python by David Beazley](https://dabeaz.com/practicalpython.html)
39
-
40
-
#### Syllabus
41
-
42
-
***Introduction to Python.** An introduction to the Python interpreter, core language features, and basic datatypes. By the end of this section, you'll be able to read files and perform simple calculations.
43
-
***Working with Data.** A deeper dive into how to represent and manipulate data structures. By the end of this section, you will be writing programs that read data and perform more significant kinds of calculations involving mapping, filtering, index building, and data joins.
44
-
***Program Organization, Functions, and Modules.** The problem of organizing larger programs into functions and modules is described. You'll write a useful library function, learn how to write executable scripts, and apply these concepts to your earlier work. Common standard library modules are also introduced.
45
-
***Classes and Objects.** An introduction to object-oriented programming with a focus on using objects to make code more general and extensible. Covers the basics of the class statement, data abstraction, code reuse via inheritance, and ways to objects play nice with the rest of Python using special methods.
46
-
***Inside the Python Object System.** A brief look at how objects are implemented under the hood in Python with an eye towards some of the issues that arise in designing classes (e.g., encapsulation of internals, controlling behavior, etc.).
47
-
***Iterators and Generators.** Covers the iteration protocol, iterable objects, generators and generator expressions. You'll apply this knowledge to the problem of setting up data processing pipelines--a particularly effective core organization technique for addressing a wide range problems such as processing large datafiles, handling data streams, and more.
48
-
***Some Advanced Topics.** An assortment of more advanced features you might encounter in Python programs. Includes variable argument functions, anonymous functions (lambda), closures, decorators, static and class methods.
49
-
***Testing, Debugging, and Software Development Practice.** This section discusses many isses that are considered important to day-to-day Python software development. This includes program testing using the unittest module, logging, and effective use of assertions. The Python debugger and profiler are also briefly described.
50
-
***Packages.** A discussion of how to take larger programs and organize them into a package structure. Concludes with some information on installing third-party packages and preparing your own code for installation.
51
42
52
43
53
44
### Advanced Python Mastery
54
45
55
-
This is a no-holds barred course that aims to cover the entirety of the core Python language. Major themes include advanced data manipulation, object oriented programming, metaprogramming, design tradeoffs, customization features, and knowing how Python works under the hood.
56
-
57
-
A three or four day course. Not for beginners to Python.
58
-
59
-
This course is based on the course [Advanced Python Mastery by David Beazley](https://dabeaz.com/pythonmastery.html).
60
-
61
-
#### Syllabus
62
-
63
-
***Python Review (Optional).** An accelerated review of the Python language focused on features that you should already know. Covers the basic language statements, program structure, common datatypes, functions, exceptions, modules, and classes.
64
-
***Idiomatic Data Handling.** An in-depth look at data handling and data structures. A major focus of this section is on Python's built-in container types (tuples, lists, sets, dicts, etc.) with an eye towards studying their performance properties and resource use. Also covers important programming data-processing idioms such as the use of list comprehensions and generator expressions.
65
-
***Classes and Objects.** A review of the class statement and how to define new objects in Python. A major focus is on how to properly encapsulate data, and when to use features such as static methods, class methods, and properties. Concludes with a review of some common object-oriented programming techniques and advanced topics including mixin classes and weak references.
66
-
***Inside Python Objects.** A look at how the Python object system is put together under the covers. Major topics include instance and class representation, attribute binding, inheritance, the rules of the Method Resolution Order, attribute access methods, and the descriptor protocol.
67
-
***Testing, Logging, and Debugging.** Learn how to test and debug your code. Covers the doctest, unittest, and logging modules. Information on assertions, optimized run mode, the debugger, and profiler is also presented.
68
-
***Working with Code.** A detailed look at more advanced aspects of Python functions. Topics include variable argument functions, anonymous functions (lambda), scoping rules, nested functions, function introspection, closures, delayed-evaluation, and partial function application.
69
-
***Metaprogramming.** Finally understand the secret techniques used by the Python framework builders. This section covers features that allow you to manipulate code. Topics include decorators, class decorators, decorator factories, context managers, and metaclasses.
70
-
***Iterators, Generators, and Coroutines.** Covers the iteration protocol, generator functions, and coroutines. A major focus of this section is on applying generators and coroutines to problems in data processing. You will learn how to apply these features to large data files and data streams.
71
-
***Modules and Packages.** This section covers details related to using modules and packages to organize larger programs. A major focus is understanding the underlying behavior of the import statement and some of the more tricky issues related to organizing packages.
0 commit comments