Gradient AtlasML Materials

Python for Data Science: a free course

Learn Python for data science, from the fundamentals to OOP, generators, concurrency, databases and Pydantic. 20 chapters, about 10 hours of reading. Part of the data science roadmap.

Basics

  1. Python FundamentalsThe language itself, how code is executed, and the mechanics of names and basic I/O.
  2. Objects and Data TypesWhat a Python object is, and the built-in type categories with their defining properties.
  3. Operators and ExpressionsOperator categories and how expressions are evaluated.
  4. Flow ControlStatements that direct execution, and the idioms and traps around them.

Data Types and Functions

  1. Built-in Data Types: Operations and MethodsThe practical working surface of each built-in type — operations, methods, behaviour.
  2. FunctionsFunction definition, the argument system, scope, function objects themselves, and treating functions as data (functional programming).

Errors and Tooling

  1. Exception HandlingHow Python signals, propagates and recovers from errors.
  2. Logging and DebuggingObserving and diagnosing running code.
  3. Modules and PackagesSplitting code across files, the import system, and running code as a program.

Object-Oriented Python

  1. Object-Oriented Programming: FoundationsClasses, instances, and the basic mechanics of state and behaviour.
  2. Object RelationshipsWays objects relate to each other without inheritance.
  3. Inheritance and Method ResolutionType hierarchies, overriding, cooperative superclass calls and the MRO.
  4. Special Methods, Overloading and OverridingHow user-defined classes hook into Python's built-in behaviour.

Advanced Python

  1. Iterators and GeneratorsLazy sequential access: the protocol, custom iterators, and generators.
  2. Regular ExpressionsPattern matching over text.
  3. File HandlingPersisting and reading data on disk.
  4. Concurrency: Multitasking, Threads and ProcessesDoing more than one thing at a time, and what Python actually allows.

Systems and Data

  1. Database Connectivity (PDBC)Talking to relational databases from Python.
  2. Memory Management and Garbage CollectionObject lifetime, reference behaviour and reclamation.
  3. Data Validation, Parsing and Type Enforcement with PydanticTurning type hints from documentation into runtime-enforced schemas, with Pydantic.