Overview
Syllabus
Intro
ŁUKASZ LANGA
WHAT WE'RE GOING TO TALK ABOUT
WHY ANNOTATE PYTHON CODE WITH TYPES?
TYPE CHECK ERROR VS. RUNTIME ERROR
THERE'S MORE TO TYPES THAN JUST CLASSES
WHAT IF A FUNCTION RETURNS ANYTHING?
WHAT IF A FUNCTION ONLY ACCEPTS LISTS WITH STRING ELEMENTS?
A STRING OR NONE?
WHAT IF A FUNCTION RETURNS A VALUE OF THE SAME TYPE AS PASSED AS AN ARGUMENT?
WHAT IF A FUNCTION ACCEPTS AN INT BUT IT'S REALLY EXPECTING ONLY FBIDS?
WHAT IF A FUNCTION ACCEPTS A CLASS, NOT AN OBJECT?
TYPE INFERENCE
GRADUAL TYPING
WORKFLOW SUGGESTION #2
FILE-LEVEL VS. FULL PROGRAM ANALYSIS
WORKFLOW SUGGESTION #3
WORKFLOW SUGGESTION #4
GOTCHAS
ONLY ANNOTATED FUNCTIONS ARE TYPED
UNIONS LIMIT ALLOWED BEHAVIOR
OUT OF ORDER DEFINITIONS IN PYTHON 3.7
IMPORT CYCLES IN PYTHON 3.7
MUTABLE COLLECTIONS ARE INVARIANT
CRAZY IDEAS
WHERE TO GET SUPPORT?
Taught by
code::dive conference