Learn Python With Two Courses From David Beazley
Written by Nikos Vaggalis   
Friday, 25 August 2023

The courses are "Practical Python Programming" and "Advanced Python Mastery". Both are free, self-paced and available under a Creative Commons license.

David Beazley is a well known figure in Python's world. He is the author of acclaimed books Python Cookbook, published in 2013 and Python Distilled, from 2021, both scoring well on IProgrammer's 5-point review scale:

Python Cookbook 3rd Edition - Rating 4.8
If you write Python just get a copy. It will not only save you time in the long run you should get a lot of fun out of reading it.

This is not a book for the beginner as it assumes that you can program in Python to a reasonable level of skill. While most of the descriptions are good, you will from time-to-time need to lookup language features that you might not be so familiar with.

Python Distilled - Rating 4
This is an attempt to present Python in "short form" so that you can get to grips with it without worrying too much about the finer detail. This is a useful approach, especially if you are coming from another language such as Java or C++. Python doesn't do things the same way, but it can be made to seem as if it does.

Indeed it is part of Python's success that at first it appears to be like these classic languages - its true nature only becomes clear when you dig a little deeper. This book would be suitable for a beginner looking to improve their Python without moving too far outside of their comfort zone.

This is the case too with both those course offerings. Practical Python Programming is more akin to the book Python Distilled, while Advanced Python Mastery is closer to Python Cookbook.

So let's tackle Practical Python Programming first.

It is comprised of the material of an instructor-led Python training course run for corporate training and professional development, hence battle-tested in real-world classrooms. To complete the course in its entirety you should minimally plan on committing 25-35 hours of work; this includes the completion of approximately 130 hands-on coding exercises.

As for its target group, it is addressed to professional scientists, engineers, and programmers who already have experience in at least one other programming language; however no prior knowledge of Python is required although knowledge of common programming topics is assumed.

The syllabus:

1. Introduction to Python
Python basics from the ground up. Starting with nothing, you learn how to edit, run, and debug small programs.

2. Working With Data
This section introduces Python’s core data structures of tuples, lists, sets, and dictionaries and discusses common data handling idioms

3. Program Organization
This section dives into greater details on writing functions, handling errors, and introduces modules

4. Classes and Objects
You learn about the class statement that allows you to make new objects. The concept of inheritance is also introduced.

5. Inner Workings of Python Objects
This section covers some of the inner workings of Python objects. Programmers coming from other programming languages often find Python’s notion of classes lacking in features.

6. Generators
One of the most powerful features of Python is the ability to customize and redefine iteration in the form of a so-called “generator function. ” This section introduces this topic.

7. Advanced Topics
More advanced Python features that you might encounter in your day-to-day coding

8. Testing and debugging
This section introduces a few basic topics related to testing, logging, and debugging.

9 Packages
How to organize your code into a package structure, how to install third party packages and how to prepare for giving your own code away to others.

Being David Beazley, the material is direct, concise and sometimes challenging, but in the end you'll have a good grasp of Python's basics.

Now let's move on to Advanced Python Mastery.

As you can tell from the name, this isn't a course for beginners. Instead it is addressed to Python programmers who want to move beyond short scripts to writing more sophisticated programs. Topics focus on programming techniques that get used in popular libraries and frameworks. The primary goal is to better understand the Python language itself so that you can understand other people's code and so that you can apply your newfound knowledge to your own project.

This one uses a pdf file which contains a presentation covering the whole material from A to Z. You use this as a reference and go step by step doing the exercises at the end of each chapter.

More or less the subjects are the same as the introductory course, but this time they are elaborated upon:

1. Python Review (Optional)

2. Idiomatic Data Handling

3. Classes and Objects

4. Inside Python Objects

5. Functions, errors, and testing

6. Working with Code

7. Metaprogramming

8. Iterators, Generators, and Coroutines

9. Modules and Packages

Both courses require at minimum Python 3. 6 and is recommend to use a local development environment rather than Jupyter notebooks because the latter might fall short of the requirements.

To conclude, both courses are excellent so that if you're looking to get into Python either as a beginner or as advanced, David Beazley has got you covered! 

python3

 

More Information

Practical Python Programming

Advanced Python Mastery

Related Articles

Python Cookbook, 3rd Edition (O'Reilly, 2013)

Python Distilled (Addison-Wesley, 2021)

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Google Reduces Support For Python, Dart And Flutter
01/05/2024

There are many reports that Google has removed people from its Python, Dart and Flutter teams and possibly more. What does this say about relying on Google as a source of technology for your projects? [ ... ]



Azul Intelligence Cloud Expands Support
02/05/2024

Azul has announced that its cloud analytics solution, Azul Intelligence Cloud, now supports Oracle JDK and any OpenJDK-based distribution. More DevOps teams will now benefit from its ability to b [ ... ]


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

<ASIN:1449340377>

<ASIN:0134173279>

Last Updated ( Friday, 25 August 2023 )