Want to learn how to code cleanly? Discover Python basics to advanced topics like decorators and async programming. Get hands-on experience to confidently build skills and write maintainable code.
4.6
136 Lessons
37h
Updated yesterday
Join 2.9 million developers at
Join 2.9 million developers at
LEARNING OBJECTIVES
- An understanding of general software engineering principles to write maintainable code in Python
- An understanding of SOLID principles for effective object-oriented design in Python
- Hands-on experience with decorators for reusing code, separating responsibilities, and creating granular functions in Python
- Familiarity with descriptors to improve code readability in Python
- Hands-on experience with generators, iterators, and asynchronous programming in Python
- Familiarity with unit testing and refactoring in Python
Learning Roadmap
2.
Introduction to Clean Code, Code Formatting, and Tools
Introduction to Clean Code, Code Formatting, and Tools
Look at clean code principles, formatting, documentation, annotations, and essential tooling.
3.
Pythonic Code
Pythonic Code
10 Lessons
10 Lessons
Master the steps to write idiomatic Python with indexing, context managers, and magic methods for enhanced clarity.
4.
General Traits of Good Code
General Traits of Good Code
14 Lessons
14 Lessons
Grasp the fundamentals of robust code principles, design strategies, and effective function handling.
5.
The SOLID Principles
The SOLID Principles
8 Lessons
8 Lessons
Deepen your knowledge of SOLID principles to enhance code maintainability and scalability.
6.
Using Decorators to Improve Our Code
Using Decorators to Improve Our Code
18 Lessons
18 Lessons
See how decorators enhance Python code by promoting code reusability, separation of concerns, and the DRY principle.
7.
Getting More Out of Our Objects with Descriptors
Getting More Out of Our Objects with Descriptors
14 Lessons
14 Lessons
Build on descriptors to enhance Python’s object-oriented programming with reusable abstractions and controlled attributes.
8.
Generators, Iterators, and Asynchronous Programming
Generators, Iterators, and Asynchronous Programming
15 Lessons
15 Lessons
Learn how to use generators, iterators, and asynchronous programming in Python effectively.
9.
Unit Testing and Refactoring
Unit Testing and Refactoring
18 Lessons
18 Lessons
Unpack the core of effective unit testing, test design principles, and refactoring techniques.
10.
Common Design Patterns
Common Design Patterns
16 Lessons
16 Lessons
Examine applying design patterns in Python, balancing inherent dynamic features with practical use cases.
11.
Clean Architecture
Clean Architecture
12 Lessons
12 Lessons
Apply your skills to develop robust software architecture with modular, scalable, and maintainable systems.
12.
Conclusion
Conclusion
2 Lessons
2 Lessons
Dig deeper into clean code principles, coding guidelines, and adaptable software design in Python.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Complete more lessons to unlock your certificate
Developed by MAANG Engineers
ABOUT THIS COURSE
Writing high quality code is one of the highly desirable traits of software engineers in the industry. This course is useful for anyone interested in creating scalable and maintainable software design in Python. It is assumed that the learner is already familiar with the principles of object-oriented software design and has experience writing code in Python.
In this course, you’ll go through the content in an increasing order of complexity, starting from the basics of Python. The course covers some advanced topics in Python as well, including decorators, descriptors, and an introduction to asynchronous programming. It'll help you discover more about Python because some of the cases are analyzed from the internals of the language itself.
After taking this course, you are expected to be equipped with sound hands-on experience and working knowledge of advanced topics in Python. You will be able to demonstrate how to write highly readable and maintainable clean code using the software engineering principles.
ABOUT THE AUTHOR
Packt
A tech learning platform that provides online courses, eBooks, videos, and other resources to help individuals and organizations stay ahead of emerging and popular technologies.
Trusted by 2.9 million developers working at companies
A
Anthony Walker
@_webarchitect_
E
Evan Dunbar
ML Engineer
S
Software Developer
Carlos Matias La Borde
S
Souvik Kundu
Front-end Developer
V
Vinay Krishnaiah
Software Developer
Built for 10x Developers
No Passive Learning
Learn by building with project-based lessons and in-browser code editor


Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go


Future-proof Your Career
Get hands-on with in-demand skills


AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"




MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies


Free Resources