Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python Type Hints
Search
José Padilla
March 15, 2018
600
0
Share
Python Type Hints
5min talk on Python Type Hints. Presented at newhaven.io
José Padilla
March 15, 2018
More Decks by José Padilla
See All by José Padilla
Python, Government, and Contracts
jpadilla
0
68
Python, Government, and Contracts
jpadilla
0
5.1k
Developer Ergonomics
jpadilla
0
2.1k
DjangoCon - JSON Web Tokens
jpadilla
15
11k
BFTW: The Backend
jpadilla
4
230
eventos
jpadilla
0
210
JWT
jpadilla
2
470
Ember.js + Django
jpadilla
3
2.2k
UPRB Basic Workshop
jpadilla
2
240
Featured
See All Featured
Side Projects
sachag
455
43k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Un-Boring Meetings
codingconduct
0
260
Being A Developer After 40
akosma
91
590k
What's in a price? How to price your products and services
michaelherold
247
13k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Agile that works and the tools we love
rasmusluckow
331
21k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Why Our Code Smells
bkeepers
PRO
340
58k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
330
Transcript
Type Hints
José Padilla
Work Training
Work Open Source
PEP 3107
None
PEP 484
None
no type checking happens at runtime
static analysis refactoring runtime type checking code generation
static analysis refactoring runtime type checking code generation
None
Common built-in types
None
None
None
None
None
None
None
None
None
None
None
None
None
Generics
None
None
mypy
static type checker
$ pip install mypy
$ python app.py
None
$ python app.py f 1 Traceback (most recent call last):
File "app.py", line 12, in <module> print(first(1)) # TypeError File "app.py", line 7, in first return seq[0] TypeError: 'int' object is not subscriptable
$ mypy app.py
$ mypy app.py main.py:12: error: Argument 1 to "first" has
incompatible type "int"; expected "Sequence[<nothing>]"
None
mypy-lang.org
Python will remain a dynamically typed language
Thanks! jpadilla.com twitter.com/@jpadilla_ github.com/jpadilla