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
0
390
Python Type Hints
5min talk on Python Type Hints. Presented at newhaven.io
José Padilla
March 15, 2018
Tweet
Share
More Decks by José Padilla
See All by José Padilla
Python, Government, and Contracts
jpadilla
0
37
Python, Government, and Contracts
jpadilla
0
4.7k
Developer Ergonomics
jpadilla
0
2k
DjangoCon - JSON Web Tokens
jpadilla
15
11k
BFTW: The Backend
jpadilla
4
170
eventos
jpadilla
0
140
JWT
jpadilla
2
410
Ember.js + Django
jpadilla
3
2.1k
UPRB Basic Workshop
jpadilla
2
190
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
What's new in Ruby 2.0
geeforr
338
31k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Atom: Resistance is Futile
akmur
261
25k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
Adopting Sorbet at Scale
ufuk
71
8.8k
YesSQL, Process and Tooling at Scale
rocio
166
14k
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