Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Intermediate Python: Modules, OOP & App Development

Packt via Coursera

Overview

Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
Advance your Python skills by exploring modules, file operations, decorators, and the principles of object-oriented programming. Learn to design robust applications using classes, inheritance, and error handling, and gain practical experience with dates, randomness, and testing. This course delves into intermediate Python topics, including working with modules, reading and writing files, and leveraging decorators for more flexible code. You will develop a deep understanding of object-oriented programming, learning how to define classes, use inheritance, and implement magic methods. The course also covers exception handling, working with dates and times, generating random data, and the essentials of unit testing and mocking. By the end, you will be equipped to design, build, and test more complex Python applications. The course uses a practical, example-driven approach, combining concise explanations with real-world code samples and quizzes to reinforce learning. Learners are encouraged to think critically and apply concepts to realistic programming scenarios, ensuring a smooth transition from theory to practice. This course is part two of a three-course Specialization designed to build a complete and cohesive understanding of the subject. While it offers valuable skills on its own, you'll gain the most benefit by progressing through all three courses as a structured learning journey. This course is based on Learn to Code with Python, by Boris Paskhaver. This course is licensed and distributed by Packt. All rights reserved. Packt is one of the world's most prolific publishers of cutting-edge technical content. For over two decades we've made it our mission to curate and publish the knowledge of only the very best technical experts. We focus on real-world courses that help our customers get the job done, with coverage that extends across a wide range of established and cutting-edge technical topics. If you're an individual or an organisation that embraces learning by doing, Packt is the perfect fit for you.

Syllabus

  • Modules
    • This module covers the fundamentals of Python modules and packages, including how to import and organize code, use the import keyword, and manage namespaces effectively. Learners will gain hands-on knowledge of Python's standard libraries and best practices for modular programming.
  • Reading from and Writing to Files
    • This module teaches learners how to read from and write to files in Python, covering essential techniques like file opening, reading line by line, writing with different modes, and appending data. It also includes best practices for managing file operations effectively.
  • Decorators
    • This module explores advanced Python concepts including higher-order functions, nested functions, variable scope, and decorators. Learners will gain a deep understanding of how to manipulate functions, manage variable lifecycles, and dynamically extend function behavior using decorators. The content includes practical examples and coding exercises to reinforce key principles.
  • Classes: The Basics
    • This module introduces the fundamental concepts of object-oriented programming in Python, focusing on how to define and use classes, create objects, and manage attributes and methods. Learners will gain hands-on experience with class instantiation, the __init__ method, and setting default attribute values. By the end, students will be able to structure their code using OOP principles effectively.
  • Classes: Attributes and Methods
    • This module explores advanced concepts in object-oriented programming in Python, including instance methods, class methods, static methods, encapsulation, and attribute management. Learners will gain hands-on experience with defining and using properties, understanding attribute lookup order, and dynamically managing object attributes. The module emphasizes practical implementation through coding exercises and solutions.
  • Classes: Magic Methods
    • This module explores Python's magic methods, teaching learners how to customize object behavior for operations like equality, string representation, and iteration. It covers practical implementation of methods such as __str__, __eq__, __len__, and __getitem__, and includes coding exercises to reinforce understanding. Learners will also gain insights into docstrings and the namedtuple object for better code documentation and structure.
  • Classes: Inheritance
    • This module explores the fundamentals of inheritance in Python, including subclassing, method overriding, and the use of the super() function. It also covers advanced topics like polymorphism, multiple inheritance, and composition as alternatives to inheritance. Learners will gain practical skills in designing and implementing object-oriented code structures.
  • Exception Handling
    • This module provides a comprehensive guide to handling errors in Python through exception handling techniques. Learners will explore how to use try-except blocks, raise exceptions, and create custom error classes. The module also covers best practices for structured error management using else and finally blocks.
  • Dates and Time
    • This module covers the fundamentals of working with dates and time in Python, including creating, manipulating, and formatting date, time, and datetime objects. Learners will gain hands-on experience with the datetime module and learn to perform time-based calculations and comparisons.
  • The random Module
    • This module covers the essential functions in Python's random module, such as generating random numbers, selecting elements from sequences, and shuffling lists. Learners will understand how to implement randomness effectively in their code and recognize the proper use cases for each function.
  • Testing Code: The Basics
    • This module introduces learners to the fundamentals of unit testing in Python, covering essential tools like the assert statement, doctest, and unittest modules. It explores how to write and organize tests, handle errors, and ensure code reliability through various assertion methods and test lifecycle functions.
  • Testing Code: Mocking
    • This module teaches how to use Python's unittest.mock module to create and manage mock objects, enabling effective unit testing by simulating external dependencies. Learners will explore attributes like return_value and side_effect, as well as tools like patch() and @patch decorator to isolate code components during testing. By the end, students will be able to build reliable and maintainable test cases using advanced mocking techniques.

Taught by

Packt - Course Instructors

Reviews

Start your review of Intermediate Python: Modules, OOP & App Development

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.