Clean Code in Python

Want to learn how to code cleanly? Discover Python basics to advanced topics like decorators, descriptors, and async programming. Get hands-on experience to confidently build skills and write maintainable code.

Advanced

136 Lessons

37h

Certificate of Completion

Want to learn how to code cleanly? Discover Python basics to advanced topics like decorators, descriptors, and async programming. Get hands-on experience to confidently build skills and write maintainable code.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

200 Playgrounds
10 Quizzes

This course includes

200 Playgrounds
10 Quizzes

Course Overview

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 advanc...Show More

What You'll Learn

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

What You'll Learn

An understanding of general software engineering principles to write maintainable code in Python

Show more

Course Content

1.

Preface

Get familiar with writing clean, maintainable Python code focusing on essential principles and practices.
2.

Introduction to Clean Code, Code Formatting, and Tools

Look at clean code principles, formatting, documentation, annotations, and essential tooling.
3.

Pythonic Code

Master the steps to write idiomatic Python with indexing, context managers, and magic methods for enhanced clarity.
4.

General Traits of Good Code

Grasp the fundamentals of robust code principles, design strategies, and effective function handling.
5.

The SOLID Principles

Deepen your knowledge of SOLID principles to enhance code maintainability and scalability.
6.

Using Decorators to Improve Our Code

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

14 Lessons

Build on descriptors to enhance Python’s object-oriented programming with reusable abstractions and controlled attributes.
8.

Generators, Iterators, and Asynchronous Programming

15 Lessons

Learn how to use generators, iterators, and asynchronous programming in Python effectively.
9.

Unit Testing and Refactoring

18 Lessons

Unpack the core of effective unit testing, test design principles, and refactoring techniques.
10.

Common Design Patterns

16 Lessons

Examine applying design patterns in Python, balancing inherent dynamic features with practical use cases.
11.

Clean Architecture

12 Lessons

Apply your skills to develop robust software architecture with modular, scalable, and maintainable systems.
12.

Conclusion

2 Lessons

Dig deeper into clean code principles, coding guidelines, and adaptable software design in Python.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor