Working with Python
Working with Python is a guide focused on practical programming with Python. The intended audience is someone who is new to Python, but not necessarily new to programming. They want to learn how to get things done using Python. As someone who learns best through code examples, I've filled this guide with practical examples. What started as my personal reference guide has evolved into a full book that I still use regularly, and will keep evolving.
Support
If you find Working with Python helpful, consider supporting it with a small donation. I put a lot of time and effort in putting this all together, pay what you think it is worth. 🙏
Setup
This guide assumes you have a working Python development environment, running Python 3.10 or later. All examples in this guide are written for Python 3.10+ and use modern syntax including the union operator (|) for type hints, built-in generic types, and other 3.10+ features. See the Dev Environment to install and set up Python on your machine.
About the guide
The guide is organized into chapters, with the first nine chapters covering the basics of Python. The remaining chapters cover more advanced topics. If you are familiar with Python, starting on Python Idioms is a good place to start. Feel free to jump around to whatever section may interest you; it is intended as reference, not a linear guide.
I highly recommend trying and playing with the examples, learning is an active process. You will not gain much by reading through the examples. Open up the Python REPL and type them in and play with them, alter the examples, mess around and find out. It is the best way to learn.
- Argparse 2025-09-19
- Classes 2025-06-08
- Collections 2023-12-09
- Control Flow 2023-02-05
- Data Science 2024-01-04
- Dates 2025-09-19
- Dev Environment 2025-05-31
- Dicts 2023-02-04
- Files 2023-02-04
- Functions 2025-06-13
- Python Idioms 2025-05-31
- Lists 2023-02-14
- Numbers 2023-02-05
- Project Structure 2025-06-07
- RegEx 2025-06-13
- String Formatting 2025-09-19
- Strings 2023-02-04
- System Commands 2025-05-29
- Testing 2025-09-19
- Type Hints 2025-05-30