Intermediate Python Programming
Deepen your Python skills with OOP, error handling, file I/O, generators, decorators, unit testing, and professional tooling practices.
StartCourse Content
- 01Classes and Objects
- 02Inheritance and Polymorphism
- 03Exceptions and Error Handling
- 04File Handling and I/O
- 05Comprehensions and Generators
- 06Decorators and Context Managers
- 07The Python Standard Library
- 08Packaging, Environments and Dependency Management
- 09Unit Testing
- 10Debugging and Profiling
Lessons: 10 · 5 Weeks
Sources and references
124
124 sources across 10 lessons
- Classes, Python 3.15 tutorialPython Software Foundation
- Data model, Python 3.15 referencePython Software Foundation
- Built-in functions, Python 3.15 library referencePython Software Foundation
Used in: Classes and Objects
- functools, Higher-order functions and operations on callable objectsPython Software Foundation
Used in: Classes and Objects, Decorators and Context Managers, The Python Standard Library
- dataclasses, Python 3.15 library referencePython Software Foundation
Used in: Classes and Objects
- PEP 557, Data ClassesPython Software Foundation
Used in: Classes and Objects
- Pydantic overviewPydantic
Used in: Classes and Objects
- PEP 428, The pathlib modulePython Software Foundation
- Model instance reference, Django documentationDjango Software Foundation
Used in: Classes and Objects
- PEP 814, Add frozendict built-in typePython Software Foundation
- Python 3.15 documentationPython Software Foundation
Used in: Classes and Objects, Inheritance and Polymorphism, Exceptions and Error Handling, File Handling and I/O, Comprehensions and Generators, Decorators and Context Managers, Packaging, Environments and Dependency Management, Unit Testing, Debugging and Profiling
- Status of Python versionsPython Software Foundation
Used in: Classes and Objects
- PEP 661, Sentinel ValuesPython Software Foundation
- What's New In Python 3.15Python Software Foundation
Used in: Classes and Objects, Debugging and Profiling
- PEP 698, Override Decorator for Static TypingPython Software Foundation
Used in: Inheritance and Polymorphism
- The Python 2.3 Method Resolution OrderPython Software Foundation
Used in: Inheritance and Polymorphism
- abc, Abstract Base Classes, Python 3.15 library referencePython Software Foundation
Used in: Inheritance and Polymorphism
- PEP 544, Protocols: Structural subtypingPython Software Foundation
Used in: Inheritance and Polymorphism
- Using mixins with class-based views, Django documentationDjango Software Foundation
Used in: Inheritance and Polymorphism
- typing, Support for type hints, Python 3.15 library referencePython Software Foundation
Used in: Inheritance and Polymorphism
- Built-in Exceptions, Python 3.15 library referencePython Software Foundation
Used in: Exceptions and Error Handling
- Errors and Exceptions, Python 3.15 tutorialPython Software Foundation
Used in: Exceptions and Error Handling
- PEP 765, Disallow return, break and continue that exit a finally blockPython Software Foundation
Used in: Exceptions and Error Handling
- traceback, Print or retrieve a stack tracebackPython Software Foundation
Used in: Exceptions and Error Handling, Debugging and Profiling
- logging, Logging facility for PythonPython Software Foundation
Used in: Exceptions and Error Handling, Debugging and Profiling
- PEP 678, Enriching Exceptions with NotesPython Software Foundation
Used in: Exceptions and Error Handling
- PEP 654, Exception Groups and except*Python Software Foundation
Used in: Exceptions and Error Handling
- json, JSON encoder and decoderPython Software Foundation
Used in: Exceptions and Error Handling, File Handling and I/O
- subprocess, Subprocess managementPython Software Foundation
Used in: Exceptions and Error Handling
- What's New In Python 3.15Python Software Foundation
Used in: Exceptions and Error Handling, File Handling and I/O, Comprehensions and Generators, Decorators and Context Managers, The Python Standard Library
- Built-in functions, open()Python Software Foundation
Used in: File Handling and I/O
- io, Core tools for working with streamsPython Software Foundation
Used in: File Handling and I/O
- PEP 686, Make UTF-8 mode defaultPython Software Foundation
Used in: File Handling and I/O
- csv, CSV file reading and writingPython Software Foundation
Used in: File Handling and I/O
- shutil, High-level file operationsPython Software Foundation
Used in: File Handling and I/O
- pathlib, Object-oriented filesystem pathsPython Software Foundation
- os, Miscellaneous operating system interfacesPython Software Foundation
- tempfile, Generate temporary files and directoriesPython Software Foundation
Used in: File Handling and I/O
- Data Structures, Python 3.15 tutorialPython Software Foundation
Used in: Comprehensions and Generators
- Expressions, Python 3.15 language referencePython Software Foundation
Used in: Comprehensions and Generators
- PEP 255, Simple GeneratorsPython Software Foundation
Used in: Comprehensions and Generators
- PEP 380, Syntax for Delegating to a SubgeneratorPython Software Foundation
Used in: Comprehensions and Generators
- PEP 342, Coroutines via Enhanced GeneratorsPython Software Foundation
Used in: Comprehensions and Generators
- itertools, Functions creating iterators for efficient loopingPython Software Foundation
Used in: Comprehensions and Generators, The Python Standard Library
- PEP 798, Unpacking in comprehensionsPython Software Foundation
Used in: Comprehensions and Generators
- PEP 709, Inlined comprehensionsPython Software Foundation
Used in: Comprehensions and Generators
- PEP 479, Change StopIteration handling inside generatorsPython Software Foundation
Used in: Comprehensions and Generators
- PEP 318, Decorators for Functions and MethodsPython Software Foundation
Used in: Decorators and Context Managers
- inspect, Inspect live objectsPython Software Foundation
Used in: Decorators and Context Managers
- Data model, Python 3.15 language referencePython Software Foundation
Used in: Decorators and Context Managers
- PEP 343, The with statementPython Software Foundation
Used in: Decorators and Context Managers
- Compound statements, Python 3.15 language referencePython Software Foundation
Used in: Decorators and Context Managers
- contextlib, Utilities for with-statement contextsPython Software Foundation
Used in: Decorators and Context Managers
- threading, Thread-based parallelismPython Software Foundation
Used in: Decorators and Context Managers
- sys, System-specific parameters and functionsPython Software Foundation
Used in: The Python Standard Library, Debugging and Profiling
- The Python Standard LibraryPython Software Foundation
Used in: The Python Standard Library
- re, Regular expression operationsPython Software Foundation
Used in: The Python Standard Library
- collections, Container datatypesPython Software Foundation
Used in: The Python Standard Library
Used in: The Python Standard Library
- datetime, Basic date and time typesPython Software Foundation
Used in: The Python Standard Library
- zoneinfo, IANA time zone supportPython Software Foundation
Used in: The Python Standard Library
- decimal, Decimal fixed-point and floating-point arithmeticPython Software Foundation
Used in: The Python Standard Library
- statistics, Mathematical statistics functionsPython Software Foundation
Used in: The Python Standard Library
- tomllib, Parse TOML filesPython Software Foundation
Used in: The Python Standard Library
- sqlite3, DB-API 2.0 interface for SQLite databasesPython Software Foundation
Used in: The Python Standard Library
- graphlib, Functionality to operate with graph-like structuresPython Software Foundation
Used in: The Python Standard Library
- PEP 791, math.integerPython Software Foundation
Used in: The Python Standard Library
- venv, Creation of virtual environmentsPython Software Foundation
- pip installPython Packaging Authority
- Requirements file formatPython Packaging Authority
- PEP 440, Version Identification and Dependency SpecificationPython Software Foundation
- PEP 668, Marking Python base environments as externally managedPython Software Foundation
- PEP 518, Specifying Minimum Build System Requirements for Python ProjectsPython Software Foundation
- PEP 621, Storing project metadata in pyproject.tomlPython Software Foundation
- pyproject.toml specificationPython Packaging Authority
- PEP 639, Improving License and Copyright DeclarationsPython Software Foundation
- PEP 735, Dependency Groups in pyproject.tomlPython Software Foundation
- uv 0.13.7 on PyPIPython Package Index
- Poetry 2.5.1 on PyPIPython Package Index
- PEP 751, A file format to record Python dependencies for installation reproducibilityPython Software Foundation
- Python Packaging User GuidePython Packaging Authority
- Publishing to PyPI with a Trusted PublisherPython Package Index
- pip release notesPython Packaging Authority
- The Practical Test PyramidMartin Fowler
Used in: Unit Testing
- unittest, Unit testing frameworkPython Software Foundation
Used in: Unit Testing
- pytest documentationpytest development team
Used in: Unit Testing
Used in: Unit Testing
- How to use fixtures, pytest documentationpytest development team
Used in: Unit Testing
- How to parametrize fixtures and test functions, pytest documentationpytest development team
Used in: Unit Testing
- Hypothesis documentationHypothesis project
Used in: Unit Testing
- Mocks Aren't StubsMartin Fowler
Used in: Unit Testing
- unittest.mock, Mock object libraryPython Software Foundation
Used in: Unit Testing
- How to monkeypatch and mock, pytest documentationpytest development team
Used in: Unit Testing
- Coverage.py documentationCoverage.py project
Used in: Unit Testing
- pytest 9.2.0 on PyPIPython Package Index
Used in: Unit Testing
- coverage 7.17.2 on PyPIPython Package Index
Used in: Unit Testing
- hypothesis 6.170.15 on PyPIPython Package Index
Used in: Unit Testing
- logging.config, Configuration functionsPython Software Foundation
Used in: Debugging and Profiling
- logging.handlers, Logging handlersPython Software Foundation
Used in: Debugging and Profiling
- pdb, The Python DebuggerPython Software Foundation
Used in: Debugging and Profiling
- What's New In Python 3.14Python Software Foundation
Used in: Debugging and Profiling
- PEP 768: Safe external debugger interface for CPythonPython Software Foundation
Used in: Debugging and Profiling
Used in: Debugging and Profiling
- faulthandler, Dump the Python tracebackPython Software Foundation
Used in: Debugging and Profiling
- Python command line and environmentPython Software Foundation
Used in: Debugging and Profiling
Used in: Debugging and Profiling
- timeit, Measure execution time of small code snippetsPython Software Foundation
Used in: Debugging and Profiling
- profiling, Profiling Python programsPython Software Foundation
Used in: Debugging and Profiling
- pstats, Statistics for profilersPython Software Foundation
Used in: Debugging and Profiling
- snakeviz 2.2.2 on PyPIPython Package Index
Used in: Debugging and Profiling
- profiling.tracing, Deterministic profilerPython Software Foundation
Used in: Debugging and Profiling
Used in: Debugging and Profiling
- tracemalloc, Trace memory allocationsPython Software Foundation
Used in: Debugging and Profiling
Used in: Debugging and Profiling
- py-spy 0.4.3 on PyPIPython Package Index
Used in: Debugging and Profiling
- scalene 2.4.0 on PyPIPython Package Index
Used in: Debugging and Profiling
- memray 1.20.0 on PyPIPython Package Index
Used in: Debugging and Profiling