Intermediate Python Programming

Deepen your Python skills with OOP, error handling, file I/O, generators, decorators, unit testing, and professional tooling practices.

Intermediate5 Weeks10 Lessons124 124 sourcesNuniversity
Start

Course Content

  1. 01Classes and Objects
  2. 02Inheritance and Polymorphism
  3. 03Exceptions and Error Handling
  4. 04File Handling and I/O
  5. 05Comprehensions and Generators
  6. 06Decorators and Context Managers
  7. 07The Python Standard Library
  8. 08Packaging, Environments and Dependency Management
  9. 09Unit Testing
  10. 10Debugging and Profiling

Lessons: 10 · 5 Weeks

Sources and references

124

124 sources across 10 lessons

  1. Classes, Python 3.15 tutorialPython Software Foundation

    Accessed 2026-11-06

    Used in: Classes and Objects, Inheritance and Polymorphism

  2. Data model, Python 3.15 referencePython Software Foundation

    Accessed 2026-11-06

    Used in: Classes and Objects, Inheritance and Polymorphism

  3. Accessed 2026-11-06

    Used in: Classes and Objects

  4. Accessed 2026-11-06

    Used in: Classes and Objects, Decorators and Context Managers, The Python Standard Library

  5. Accessed 2026-11-06

    Used in: Classes and Objects

  6. PEP 557, Data ClassesPython Software Foundation

    Accessed 2026-11-06

    Used in: Classes and Objects

  7. Accessed 2026-11-06

    Used in: Classes and Objects

  8. PEP 428, The pathlib modulePython Software Foundation

    Accessed 2026-11-06

    Used in: Classes and Objects, Inheritance and Polymorphism

  9. Accessed 2026-11-06

    Used in: Classes and Objects

  10. PEP 814, Add frozendict built-in typePython Software Foundation

    Accessed 2026-11-06

    Used in: Classes and Objects, The Python Standard Library

  11. Python 3.15 documentationPython Software Foundation

    Accessed 2026-11-06

    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

  12. Status of Python versionsPython Software Foundation

    Accessed 2026-11-06

    Used in: Classes and Objects

  13. PEP 661, Sentinel ValuesPython Software Foundation

    Accessed 2026-11-06

    Used in: Classes and Objects, The Python Standard Library

  14. What's New In Python 3.15Python Software Foundation

    Published 2026-10-09 · Accessed 2026-11-06

    Used in: Classes and Objects, Debugging and Profiling

  15. Accessed 2026-11-06

    Used in: Inheritance and Polymorphism

  16. The Python 2.3 Method Resolution OrderPython Software Foundation

    Accessed 2026-11-06

    Used in: Inheritance and Polymorphism

  17. Accessed 2026-11-06

    Used in: Inheritance and Polymorphism

  18. Accessed 2026-11-06

    Used in: Inheritance and Polymorphism

  19. Accessed 2026-11-06

    Used in: Inheritance and Polymorphism

  20. Accessed 2026-11-06

    Used in: Inheritance and Polymorphism

  21. Accessed 2026-11-06

    Used in: Exceptions and Error Handling

  22. Accessed 2026-11-06

    Used in: Exceptions and Error Handling

  23. Accessed 2026-11-06

    Used in: Exceptions and Error Handling

  24. Accessed 2026-11-06

    Used in: Exceptions and Error Handling, Debugging and Profiling

  25. logging, Logging facility for PythonPython Software Foundation

    Accessed 2026-11-06

    Used in: Exceptions and Error Handling, Debugging and Profiling

  26. Accessed 2026-11-06

    Used in: Exceptions and Error Handling

  27. PEP 654, Exception Groups and except*Python Software Foundation

    Accessed 2026-11-06

    Used in: Exceptions and Error Handling

  28. json, JSON encoder and decoderPython Software Foundation

    Accessed 2026-11-06

    Used in: Exceptions and Error Handling, File Handling and I/O

  29. subprocess, Subprocess managementPython Software Foundation

    Accessed 2026-11-06

    Used in: Exceptions and Error Handling

  30. What's New In Python 3.15Python Software Foundation

    Accessed 2026-11-06

    Used in: Exceptions and Error Handling, File Handling and I/O, Comprehensions and Generators, Decorators and Context Managers, The Python Standard Library

  31. Built-in functions, open()Python Software Foundation

    Accessed 2026-11-06

    Used in: File Handling and I/O

  32. io, Core tools for working with streamsPython Software Foundation

    Accessed 2026-11-06

    Used in: File Handling and I/O

  33. PEP 686, Make UTF-8 mode defaultPython Software Foundation

    Accessed 2026-11-06

    Used in: File Handling and I/O

  34. csv, CSV file reading and writingPython Software Foundation

    Accessed 2026-11-06

    Used in: File Handling and I/O

  35. shutil, High-level file operationsPython Software Foundation

    Accessed 2026-11-06

    Used in: File Handling and I/O

  36. Accessed 2026-11-06

    Used in: File Handling and I/O, The Python Standard Library

  37. Accessed 2026-11-06

    Used in: File Handling and I/O, The Python Standard Library

  38. Accessed 2026-11-06

    Used in: File Handling and I/O

  39. Data Structures, Python 3.15 tutorialPython Software Foundation

    Accessed 2026-11-06

    Used in: Comprehensions and Generators

  40. Accessed 2026-11-06

    Used in: Comprehensions and Generators

  41. PEP 255, Simple GeneratorsPython Software Foundation

    Accessed 2026-11-06

    Used in: Comprehensions and Generators

  42. Accessed 2026-11-06

    Used in: Comprehensions and Generators

  43. Accessed 2026-11-06

    Used in: Comprehensions and Generators

  44. Accessed 2026-11-06

    Used in: Comprehensions and Generators, The Python Standard Library

  45. PEP 798, Unpacking in comprehensionsPython Software Foundation

    Accessed 2026-11-06

    Used in: Comprehensions and Generators

  46. PEP 709, Inlined comprehensionsPython Software Foundation

    Accessed 2026-11-06

    Used in: Comprehensions and Generators

  47. Accessed 2026-11-06

    Used in: Comprehensions and Generators

  48. Accessed 2026-11-06

    Used in: Decorators and Context Managers

  49. inspect, Inspect live objectsPython Software Foundation

    Accessed 2026-11-06

    Used in: Decorators and Context Managers

  50. Accessed 2026-11-06

    Used in: Decorators and Context Managers

  51. PEP 343, The with statementPython Software Foundation

    Accessed 2026-11-06

    Used in: Decorators and Context Managers

  52. Accessed 2026-11-06

    Used in: Decorators and Context Managers

  53. Accessed 2026-11-06

    Used in: Decorators and Context Managers

  54. threading, Thread-based parallelismPython Software Foundation

    Accessed 2026-11-06

    Used in: Decorators and Context Managers

  55. Accessed 2026-11-07

    Used in: The Python Standard Library, Debugging and Profiling

  56. The Python Standard LibraryPython Software Foundation

    Accessed 2026-11-07

    Used in: The Python Standard Library

  57. re, Regular expression operationsPython Software Foundation

    Accessed 2026-11-07

    Used in: The Python Standard Library

  58. collections, Container datatypesPython Software Foundation

    Accessed 2026-11-07

    Used in: The Python Standard Library

  59. Accessed 2026-11-07

    Used in: The Python Standard Library

  60. datetime, Basic date and time typesPython Software Foundation

    Accessed 2026-11-07

    Used in: The Python Standard Library

  61. zoneinfo, IANA time zone supportPython Software Foundation

    Accessed 2026-11-07

    Used in: The Python Standard Library

  62. Accessed 2026-11-07

    Used in: The Python Standard Library

  63. Accessed 2026-11-07

    Used in: The Python Standard Library

  64. tomllib, Parse TOML filesPython Software Foundation

    Accessed 2026-11-07

    Used in: The Python Standard Library

  65. Accessed 2026-11-07

    Used in: The Python Standard Library

  66. Accessed 2026-11-07

    Used in: The Python Standard Library

  67. PEP 791, math.integerPython Software Foundation

    Accessed 2026-11-07

    Used in: The Python Standard Library

  68. venv, Creation of virtual environmentsPython Software Foundation

    Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  69. pip installPython Packaging Authority

    Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  70. Requirements file formatPython Packaging Authority

    Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  71. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  72. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  73. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  74. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  75. pyproject.toml specificationPython Packaging Authority

    Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  76. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  77. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  78. uv 0.13.7 on PyPIPython Package Index

    Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  79. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  80. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  81. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  82. Poetry 2.5.1 on PyPIPython Package Index

    Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  83. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  84. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  85. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  86. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  87. Python Packaging User GuidePython Packaging Authority

    Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  88. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  89. Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  90. pip release notesPython Packaging Authority

    Accessed 2026-11-07

    Used in: Packaging, Environments and Dependency Management

  91. Accessed 2026-11-07

    Used in: Unit Testing

  92. unittest, Unit testing frameworkPython Software Foundation

    Accessed 2026-11-07

    Used in: Unit Testing

  93. pytest documentationpytest development team

    Accessed 2026-11-07

    Used in: Unit Testing

  94. Accessed 2026-11-07

    Used in: Unit Testing

  95. Accessed 2026-11-07

    Used in: Unit Testing

  96. Accessed 2026-11-07

    Used in: Unit Testing

  97. Hypothesis documentationHypothesis project

    Accessed 2026-11-07

    Used in: Unit Testing

  98. Mocks Aren't StubsMartin Fowler

    Accessed 2026-11-07

    Used in: Unit Testing

  99. unittest.mock, Mock object libraryPython Software Foundation

    Accessed 2026-11-07

    Used in: Unit Testing

  100. Accessed 2026-11-07

    Used in: Unit Testing

  101. Coverage.py documentationCoverage.py project

    Accessed 2026-11-07

    Used in: Unit Testing

  102. pytest 9.2.0 on PyPIPython Package Index

    Accessed 2026-11-07

    Used in: Unit Testing

  103. coverage 7.17.2 on PyPIPython Package Index

    Accessed 2026-11-07

    Used in: Unit Testing

  104. hypothesis 6.170.15 on PyPIPython Package Index

    Accessed 2026-11-07

    Used in: Unit Testing

  105. logging.config, Configuration functionsPython Software Foundation

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  106. logging.handlers, Logging handlersPython Software Foundation

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  107. pdb, The Python DebuggerPython Software Foundation

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  108. What's New In Python 3.14Python Software Foundation

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  109. Accessed 2026-11-07

    Used in: Debugging and Profiling

  110. Accessed 2026-11-07

    Used in: Debugging and Profiling

  111. faulthandler, Dump the Python tracebackPython Software Foundation

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  112. Python command line and environmentPython Software Foundation

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  113. Accessed 2026-11-07

    Used in: Debugging and Profiling

  114. Accessed 2026-11-07

    Used in: Debugging and Profiling

  115. profiling, Profiling Python programsPython Software Foundation

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  116. pstats, Statistics for profilersPython Software Foundation

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  117. snakeviz 2.2.2 on PyPIPython Package Index

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  118. Accessed 2026-11-07

    Used in: Debugging and Profiling

  119. Accessed 2026-11-07

    Used in: Debugging and Profiling

  120. tracemalloc, Trace memory allocationsPython Software Foundation

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  121. Accessed 2026-11-07

    Used in: Debugging and Profiling

  122. py-spy 0.4.3 on PyPIPython Package Index

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  123. scalene 2.4.0 on PyPIPython Package Index

    Accessed 2026-11-07

    Used in: Debugging and Profiling

  124. memray 1.20.0 on PyPIPython Package Index

    Accessed 2026-11-07

    Used in: Debugging and Profiling