Beginner
Python
Learn Python end to end. Syntax, data structures, OOP, generators, async, testing, and packaging.
18 lessons9h hands-on11 languages
Start learning freePython course18 lessons, in order
- 120 min
Hello, Python
VariablesPrintRepl - 225 min
Numbers and Strings
IntegersFloatsString concatenationF-strings - 330 min
Control Flow
If/elif/elseComparison operatorsBoolean operatorsWhile loopsFor loopsBreak and continue - 430 min
Lists and Tuples
List creationIndexingSlicingAppendPopIteration+2 - 530 min
Dictionaries and Sets
Dict basicsGet with defaultIterate keysIterate valuesIterate itemsSets+1 - 630 min
Functions
DefParametersDefault valuesKeyword arguments*args and **kwargsReturn values+1 - 725 min
Comprehensions
List comprehensionsDict comprehensionsSet comprehensionsConditional expressionsReadability tradeoffs - 830 min
Files and IO
Open with withReading linesWriting filesPathlib.PathJson readJson write - 930 min
Modules and Packages
ImportFrom importWriting your own moduleIf __name__ == "__main__"Packages__init__.py - 1035 min
Classes and OOP
Class definition__init__Instance attributesClass attributesMethods__repr__ - 1130 min
Inheritance and Composition
SubclassingSuper()Method overridingCompositionWhen to choose composition - 1230 min
Exception Handling
TryExceptElseFinallyRaiseCustom exception classes+1 - 1330 min
Iterators and Generators
Iterator protocolYieldGenerator functionsGenerator expressionsLazy evaluation - 1430 min
Decorators
Functions are objectsWrapper functions@decorator syntaxFunctools.wrapsParametrized decorators - 1525 min
Context Managers
With statement__enter__ and __exit__Writing your own context managerContextlib.contextmanager - 1640 min
Concurrency: Threads and Async
GIL in plain languageConcurrent.futures.ThreadPoolExecutorAsyncio basicsAsync defAwaitWhen to use threads vs async - 1735 min
Testing with pytest
Test functionsAssertRunning pytestParametrizeFixtures - 1835 min
Packaging and Deployment
Pyproject.tomlPip install -eConsole scriptsBuilding a wheelPublishing to PyPI
Learn Python in your language
Every lesson, quiz, and tutor reply renders in your language. The AI tutor matches the language you ask in.
Learn Python in EnglishAprende Python en españolAprenda Python em portuguêsتعلّم Python بالعربيةPython را به فارسی یاد بگیریدApprenez Python en françaisPython हिन्दी में सीखें用中文学习 PythonPelajari Python dalam bahasa IndonesiaИзучайте Python на русскомPython auf Deutsch lernen
