αααααααααΎααααα»αααααα»ααααααααααΈααΈαααααΆααααααααααααΆααα’αααΈααααααα Dropbox ααΆααααα αααΆαααααααααααααααααααααΆααααΌα Python ααΆααααΆααααααΆααα
β
ααΆαααΆααααααααααααααΌαααΆα (PEP 484)
ααΎαααΆαααααΎααΆααα·ααααααααααααααααααΎαααααΌαααααααΎαααΆαα½α mypy αα Dropbox ααα‘α»αααα Hack Week 2014 α Hack Week ααΊααΆααααΉαααα·ααΆααααα½ααααααΆα αααααααα αααα Dropbox α αααα»αα’αα‘α»ααααααα αα·αααα·αα’αΆα ααααΎααΆαααΎα’αααΈααααααα½αα ααααΆα! αααααααα αα αααα·ααααΆααααΈααα½αα ααα½ααααα Dropbox ααΆαα αΆααααααΎααα αααα»αααααΉαααα·ααΆαααααααααα ααΆααααααααααΆααα·αααααααα ααΎαααΆαααααα·ααααΆαααΆ mypy ααΎααα α αΆααααΌα ααΆααΆααααααα αααααΈααΆααααααααααα·αααΆαααα½α ααΆαααααααΆααααΆαααααΎααααΆαααααΆαααΌααααΌααΆααααααα
αα
αααααα αααα·αααααΆαααααααααααααΆααααααααααααα½ααααααα Python ααΊαα
ααΎα’αΆααΆαα ααΌα
ααααααα»αααΆααα·ααΆα α
αΆααααΆααααΈ Python 3.0 ααΆα’αΆα
ααααΎααααααα
αααΆααααααααααααΆαααα»αααΆα ααα»ααααααΆαααααααααΆααααααΆααΆααααα
ααααα·ααΆαα’αααΎα
α·ααα αααααααΆαααΆααααααααααα αα·αα’αααααααααααΆααααααα αααα»αα’αα‘α»ααααααααΎαααΆααααααα·ααΈ α
αααΆαααααααααΆαααααααΆαα
αααΎαααααΌαααΆααα·αα’αΎααΎα αααααΆααααΈαααααΆα αααααΆα Hack ααΎαααΆαα
αΆααααααΎαααααΎααΆαααΎαααααααΆαααααααααα ααΆαααΆααααααΆαααΆαα±ααααΆαααΆαααα
α‘αΎα
ααΆαααααα»αααααααΎαα’αΆα ααααΌαααΆαααΎαααΈααΆααΈααΆααααΈαα ααΆααααΌα ααΎααααααΉαααΆααααααααα’αααΌ Python ααΆααααΌαα’αΆα ααα½ααααα·ααΈααΆαααααααΌαα αααα»αααΆαααααΎααΆαααααΆααααααα (ααΆααααααααααΎαααα»α Python ααΆααΆααααααααααΎααΉα "ααααααα αααΆααααααα")α αααβααΎβααΆαβααΆαβααααα»ααααααΆαβαααβα’αΆα βααΎαβααΆαβααΆαβααα’βααΆαβααΆαβααααΎβαα·ααΈβαααβαα·αβααααΌαβααααΆβαα βαα·αβαα βααβααΆβα αααΎαα ααΈααΈα ααΎαα αααα·ααΆααααΆαααααΎαα αα α’αααΈααααααΆαα αααΆαααααααααααααααΆαα½ααααΆαα·αααΆα αααΎααααα αααα Python α ααααααααΆααααΆαααααααΌαααΆαααααααααααααααααααΆααα·ααααααΆααΎααα·αα ααααΎααα ααΌα ααΆ "α’ααααααααααΆαααΆ" ααΈαααα·αααΆααΌαααααΆαααααΆααΆαα αααα»αααααααααα αΆααααΌααααΌααΆαααα’αααααααααααααα·ααΈ Python α ααΆβααΊβααΆβααΆααΆβααΆαβα’ααααβααΆααααα αααβααβααααΆααβααΆβααΆ "ααΆαβααΆαβαααα αΌαβααΆ"α αα αααα»ααα αααααα ααΎαααααΌαα’αΆαααααα·αα·ααΆαα½αα±ααααααααα αααααααα·αααααΆαααΆαα’αααααα·αα·αααααα·αα’αΆα αα½αααΆαααααα»ααααααΎαα‘αΎαα ααα»ααααβα’αΆααααααβαααβαα βααΈβαααα»αβααΆαβαααΆααβαα βαα·αβαααααΆααβααΈβααΆβααΆαβα αααΆααβααΆβααΆαβααΆαβα’ααααβαα·αα·ααααβααΉαβαα·αβααααΌαβααΆαβαααααβαα (α αΎαβαααααΆααβααΈβααα»αααβααΆαβααΉαβααΆβααΆβαα·αβααΆβααΆαβαααααααα)α
ααΆααααααααααααααα½ααααααααααααααΌαααΆαα’αα»ααααα ααΈαααα»αααΊαααααααα ααΉαα’αααΈααα mypy ααΆαααααα ααααααα PEP 484 ααααΌαααΆαα ααααααΆαααΆαα½α Python 3.5 αααα»αααααΆα 2015 α Python αααβααΆβααΆααΆβαααβααΆαβααΆαβαααα αΌαβαααβααΆαααααβαααβα αΎαα αααα»αα αΌαα α·ααααα·αααΆααααΉαααα·ααΆααααααααΆααααΉαααα·ααΆαααααααααΆαααα½ααα αααα»ααααααααα·ααΆααααα Python α
ααΆαα αΆααααααΎαααααΆαααααΎα αααΆααααα»α
αα α α»αααααΆα 2015 Dropbox ααΆααααααΎααααα»αααα»αααααΈααΆααααΎααααΈααααΎααΆαααΎ mypy α αα½ααααα½αααΆα Guido van Rossum, Greg Price αα·α David Fisher α α αΆααβααΈβαααβαααβαα ααααΆαααΆαβα αΆααβααααΎαβαα·ααααααβαααΆαβααΏαα α§αααααααΈαα½αα ααααααΆαααΌαααΆαααααα mypy ααΊααΆαα’αα»ααααα ααΌα ααααααα»αααΆαααααΆαααΆαααΎ αα ααΎαααααΌααααααααα αααα»αααΆααα·αα’αααΈααΆαααααααααΆαα’αα»αααααα mypy αα ααΆ C ααα»αααααααα·ααααααααΌαααΆαααΆααα ααααΈαααααΈαααααΆααααααααα ααΎαααΆααααΆααααΆαα½αααΉαααΆαααααΎαααΆααααααααααααααααΎαααααα·ααΈαααααα CPython αααααΆαα·αααΏααααααααααΆαααααααΆααα§αααααααΌα ααΆ mypy ααα (αααααα PyPy αααααΆααΆαα’αα»αααααααα½α Python ααΆαα½αααΉααααααα·ααΈα ααααα JIT αααα·αααΆααα½αααΎααααα)
ααΆααααΆαααα’ ααΆααααααα’αααα½ααααααααΆααα½αα ααα½αααΆαααααααααα½αααααααΎααα ααΈαααα "α§ααααααααααΎαααααΏα" ααααΆαα’αΆαα»ααΆαααααΌαααΊααΆαα’αα»ααααααΆααααα½ααα·αα·αααααααααα αααα·ααα ααΈαααααααΆααααααα’αααααΊααΆααααα ααααα·αααΎααΆαα’αΆααααααααααααΌαα»αααΆααα’αααα·αααΆαααααΆααααααΌαα αΆααααΆααααΈααΆαααααΎαααΆαααΈαα»ααα mypy αααααΎαα’αΆα ααααΎαα·αααααααααααΆααααααΆαα»ααααα»αααααΆαααααααΆαααααα»αα’αα‘α»ααααααααΎαααΆααα»ααααααααααααααΎααΆαααΆαα½αααΆαα’αΆαααααα ααΎαααααΆααααααααΌαααΆαααΎααααΈααααΎααΆααααα½ααα·αα·αααααααααααΎα―αααΆααααααΆααααααα αα·ααα ααΎα―αααΆααααααΉαααα’ααααΎαα½αααΆα Mypy αααααΆααααΎααα αα»αααααα·α αααα ααααα·αααΎα ααα»α αααααΆααααΆααααα αααααΌαα»ααα·αααααΆααααααΌααα mypy ααααααααΆαααΌαα»ααααααααααααααΆαα αΌααααΌαα»αααααα·αα αΆαααΆα αααααΌααα·αα·ααααααααααααα
ααΆααααα½ααα·αα·αααααααααααΆααα½αααΎαα αααΎααα ααααααααα αααΆαα ααα½αααα αααΎαααααΌααααααΆαααααΆααα α ααα»α αααααΊααΆ ααααΎαααΆααααααΆααααααΆααΆαααααααααΉαααΆαααααΎαααΆα mypy αααααααΆα αααΎα ααααααα αααΆαααααααααααΌαααΆαααααααααααα·α ααααααα αααα»αααΌα α αΎαααααΌαααΆααααααα’ααααα·α αααααα ααΆααααααααΌααααα mypy αα ααααΊαααααΆαα αααααααΆααΆαααΆαα’αΆαααααα αααΎααααα»αααΆααααα½ααα·αα·αααα αααααΆαααα ααΎααααΈαααααα’ααααΆαααΆα ααΎαααΆαα’αα»ααααααααααΆαααααΆαααααααΆααααΈα ααααΆαα ααααα·αααΎ mypy ααααΎαααΆααααΆαααααααΆααααΌαααααΆαααααααΆα α½ααααα ααΆααΆαααααΌαααααααΆαααααααΆαααα αα α»αααααααααααΆααααΌαααααΆαααΌαααΆααααΌαααΈααααΆαααααααΆαα αααααΆααααααΆααααΎααΆααααα½ααα·αα·ααααααααααααααααΎααΌααααααα αααααΆαααΆαααΎαααΌαααα αΆααααααα½ααααααααααα ααααΆααααααΎαααΆαα’αα»αααααααα mypy α
αααααΊααΆααααααααααΆαααα½ααααααΆαααΆαααα αα αα·αααααααΆαα·ααααΆααααα½ααα·αα·ααααααααααα Dropbox α αα α α»αααααΆα 2016 ααΎαααΆαααΌα Python αααα αα 420000 αααααΆαααα½α α αΎα ααΆαα½αααΉαα αααΆαααααααααααααα α’αααααααΎααααΆααααΆα αααΎαααΆαααΆααα ααααααΆααα·αα·αααααααααα αααα»αα’αα·ααααααααΆααααα αααΎααααα»αααααΎ Dropbox mypy α
α’αααΈαααΎααα ααα’αα αααααα ααα»ααααααΎααα ααΆαααΏαααΆα αααΎααααααααΌαααααΎα ααΎαααΆαα αΆααααααΎαααααΎααΆααααααααα·α’αααααααΎααααΆαααααααααα»αααΆαααΆααααααααΎααααΈααααααααα αΆαααααααα αα·αααααααααααΆααΎαααα αΆα’αααΈαααααααααααΌααααααααΆαααΆαα»ααα·α (ααΆαα’αα»ααααααααα ααααααΌαααΆαααααΎααααΆαααα αααα»ααααα»αα αα»αααααααααααα)α ααααΆαααααα»α ααΌα αααααΆα αααΆααα αΎα ααΊαα·α αα ααΆαααΈαα ααΈαα½α ααΎαααααΌαααΆααααααααααααααααααααααααααααααΌα ααΈααΈα ααΎαααααΌαααΆα mypy ααΎααααΈααααΎαααΆαααΏαααΆααα»αα ααΆα αααΆααααΆααααΆααΆαααΆαααααααΎαααΎααααΈαααααΎαααααΏα mypy αα·αα’αα»ααααααΆαα αααα»ααααααααααααααα»αα αα»αααΊαα ααααΆαααΈααΆααααααααα α‘αΎαα ααΎαααΉααααΆαα αααΆααα’αααΈααΆααααααΆαααααα·α αα ααΆαααΆααααΈαααα αααααα’αααΈααΆααααααααΆαααΆα
ααα·αααΆαααΆααααα αααΎα!
ααΆααααα½ααα·αα·αααααααααααΆαααααΎα±αα mypy ααΏαααΆααα»α ααα»ααααα§ααααααα αααα·αααΏααααααααααΆααα ααΆααααα½ααα·αα·αααααααααααΆα αααΎαααΆααααααααααα αααα½αααΆααΈα ααΌαα ααα»βαααβααΊβααΆαβααΆαβα αΌαβααΆαβααααβα ααααααα ααααΆαα·αααααΆααααα’αΎααααααααΆααααΆαααααααΆαααααΎααΆαααΆαα½αααΌαααααΆαααΌααααααααααααα αααα»α Python αααααα ααΎαααΆαααααα»ααααααΌαα»αααΆαααα αααααΈαα½ααααΆαααΆαα αΌααααααααααααΆααα’ααααααααααα ααααα·αααΎα―αααΆαααΆαα½ααα αααα»αααααα·ααα»αααΆαα αΌαααααΌαααΆαααααΆααααααΌα mypy ααααΌαααααΎαααΆαα―αααΆαααΆααα’αααα αααα»αααααα·ααα»αααα α αΎαααΆααΉαααΆαααααΌαα»αααΆαα½ααααααΆαααΆαα αΌααααΌαα»αααΈααααα·ααα»ααααα αααααα½αααααααααΊααΆ "ααΆαα ααααΌαα αααααααααΆαααΉαααα’αα" ααα’αΆαααααααααααααΆαα±ααααΆααααα αΆααΆα αααΎααα Dropbox α αα αααααααα ααΆαααααααααααααΆααααΌαα»αααΆαααα αααααααααααΆααααΌαααΆαααΆαα αΌααααααααΆαα α¬ααααααααα ααΆαααααΎαααααααΆα αααΎα ααΆααααααΌαααΆαααααααΎαα αααα»αααΌαααα·ααααααααααα
ααΎαβααΆαβαα·α
αΆαααΆβα’αααΈβααααααΆαβααβααΆαβααΉαααα’ααβααΆαααΆαααααα ααα»ααααβααΎαβαα·αβααΆαβααααΆαβααΎααααΈβααααΎβααΆβααα ααΆααααααΌαα
αααΎαααααααααΎααα·αααααΆααααααΆααα ααΆαααααα ααΎαααΆααααααΎααα·ααΈααΆααααααααα½αα ααΎαααΆααααααα
α
α·αααααααΎα±αα mypy ααααΎααΆααααΆαααΆαααα αα ααΌααααΈαααα
αααα»αααααααΆααα "ααΆαααΆααααΆααααααα" αααααα ααΎαααΆααααααα
ααααα
ααααααααααΎαααα·α mypy α αααα·αααΊααΆααααΎαααΆααααΆαααΈααααααα’αα»αααααα»αααΆααα½αα±ααα
αΆααα’αΆααααααααΈαα ααΈαα½α ααΆαααα»αααααααΆαα’αααΈααΌαααααΆαααΌαααΆααααΌααα
αααα»αα’αααα
αα
αΆαα αααααΆααααααΆααΆααααααααα’αααααααΎαααΆα mypy α’ααααα·αα
αΆαααΆα
ααααα»ααα·αααααααααα»αααααΆαααααααΆαααααααΆααααααΉαααΆαα’αΆααααααααααΆαααΆαα
αΌαααΆααααΆαααααααα ααΈααΈα ααΆααααααααα»ααααααααααα
ααααα·αααα’αααααΆααα
ααΆααααααααααΌα
α αα·ααΆαααΆαα’αΆααααααααΆααα»αααΆα αα·αα’αααααΆαααααααααα α§ααΆα αααααααα·αααΎαα»αααΆα foo
α α
αα»αααΆααα½αα bar
αααααΆααααααΆαααΆαααΉαααα’αα foo
ααΈ bar
. αα
ααααααα―αααΆαααααΆααααααΌα αααα·αααααΌααα
αααα»αααΆαα―αα ααααΎαααΆαααα―αααΆααααααΆαααααΆααααααΌαααα»αααααα αααααΆααααααΆααΎαααΆαααααΆααααααΌααααα’αΆα
ααΎαααΎαααΆααααα
α
ααααα―αααΆαααα ααΌα
ααΆα αααααααΆαα»αααΆααααααΆαααααΆααααααΌαα αααα·αααααΎααααααΆαααα’α·αα’αααΈααΆαααΆαα
αΌαααααα»ααααα ααΎααααΈαα·αα·αααααΎααα»αααΆαααΆαααααααααα·αααΆααααΎαα»αααΆααααααΆαααααααα ααΆααααααΆααΆαα½αααΉααα·ααΈααΆαααααααα α’αααααααΌααααα·αα·αααααΎααα»αααΆααα·α
αα½α
αααα»αα
ααΆαα’αα»ααααααΆααα’αααααααΊαα·ααααααΆααΆαααΆααααα½αααααα α αΆααααΆααααΈααΆαα’αα»αααα mypy ααΎαααααΌαααΆαααααααααΆαααααΆααααΎααααΎαααΆαα―αααΆααα½ααααα»αααααααα½αα ααΎαααααΌααααααααΆαααΆαα½αααααΆαααΆααααααααααΆα αααΎα ααΆαααΎαα‘αΎαααααααααΌαα±ααααΆαααΆααααα½ααα·αα·αααααααα αΎαααααααααααα»αααααΈαααα’αααΈαα½αααΆαααααΆααααααΌααα αααα»αααΌαα α§ααΆα ααα ααΆααΎαα‘αΎααα ααααααααααΆαααα½αααααΌαααΆαα αΆααααααΆααααΌαααααΆαααααΈα αα ααααααααΎαααααΎα’αααΈαααααΎαα ααααΆα ααΎαα’αΆα ααΆααααααααααααααΆααααΆααααα½ααα·αα·αααααααααααΆαα αααΎαααααααΉαααΈαααΈαα·ααΆααΈααα»αααααα αααβα αΆααβααΌα βααΆβαααβαααααβααβααβαα½αβαααααΆααβααΎαα
ααΆααααααα·αααΆα!
αα½αααααΆααΆαα½αααααΆαααααααΆααααΈα ααααΆαααααααα»αααΆααα·ααΆααααΆααΆαααΎ αααα·α mypy ααααΎααααααααααΆααααα αΆαααααΎαα‘αΎααα ααααααα’αααααααααααααα·ααΈαααααααααΎαααΆαααΆααααα½ααα·αα·ααααααααα αααααααΎααΆαααααΆααααααΌααα α―αααΆααα½αα ααα½αααΌα α αααααΆαααΆαααΆααααα ααααΎαααΆααααααααααα αααα»αααααΈααααΎααααΆααα’αααααααα·α αααα»αααΊαα ααααααΆαααΈααΆαααα’αααααΎααααα»αα ααΆαα αΆααααααΎαααα’αΆααα mypy α’αΆα α αααΆααααααΎαααΈ 15 ααΆααΈα α αΎααααααΊα αααΎαααΆαα’αααΈαααααΎαααΉααααααΆαα α·αααα ααΆαααααΆαααααααΆα α ααααΆαααΆαααΆααααα’αΆααααααα α αα ααααααα’αααααααααααααα·ααΈαααααααααααΌαααααΈ αα·αααααααα αααΆααααααααα ααΆααααΌααααααΆαααααΆααα α’αααααααΎααααΆααααααααΎααα αααααααααααΆααααααΆααααΆαα’αα»ααααααααααααα ααα»ααααααΎαααΈαααΆααααααΆααα½ααα½αααααΆαααααααΆαααααΌαα
ααΎαααΆααααααα α α·ααααααααααα αααα·ααα»ααα½αααΆααααααΉα mypy α αααααΊααΎααααΈαααααααααΌα Python αα ααΆααΌα C α ααΆαααΆαααααααΆαα½α Cython (αααααααααααα’αα»ααααΆαα±ααα’αααααααααααΌαααααααααααα Python αα ααΆααΌα C) αα·αααΆααααααα±ααααΎαααΌαααααΏααααα’αΆα ααΎαααΎαααααα ααΌα ααααα αΎαααΎαααΆααααααα α α·ααααααα‘αΎααα·αααΌααααα·αααααΆαααααααααααα·ααΈα αααααααααΆαααααα½αααααααΎαα αααααΆα mypy codebase (ααααααααα»α Python) ααΆαα αααΆαααααααααααααα αΆαααΆα αααΆααα’αααα½α α αΎα ααΎααα·αααΆααΆαα·αααΆααΆααααααααααααα»αααΆαααααΆααΆαααααΎα αααΆαααααααααΆαααααααΎααααΈαααααΎαααααΏαααααααααα αααα»αααΆααααααΎαααααΌαα½ααααΆαααΆαααα αα ααΎααααΈααΆααααααααα·ααααα ααΆααΆααααα αΆαααΈααΆαααΎαα‘αΎαα αααΎαααΆα 10 αααααα»αααΆαα’αα»ααααααΎαααααααΆαααΈααααΌααααααα αααα·αααααααΎαααΊααΎααααΈα ααααααααΌαα»α Python αα ααΆαααΌαα»α C αααααααΎ Cython αα·αααΎααααΈααααααα αααΆααααααααααααααα ααΆααΆααααα½ααα·αα·ααααααααααααααααΎαααΆα (ααΆααααααΆ α αααΆααααααααααααααα·αααααΌαααΆαα’αΎααΎαα αααααααΎαααΆα α αΎαααααΎααααααααααααααα·αα·αααααααααααα»ααααα)α ααΎααα·αααΆααΆαααααααααααααααΆαα’αα»αααααα mypy ααΈ Python αα ααΆααΆααΆαααααααΌαααΆααα ααΆα‘αΎαααΎααααΈααΆαα’ααααααΆααααΆαα αααααΉαααΎααα (α αΎαααΆαα αααΎαααααΎααΆα) ααΌα Python αααα (ααααααααααΆαααααΎα αααΆααααα»αααααααΆααΆαααααΆαααααΆαααΆαααααααΈαααααααα mypy α ααΆαα’αα»αααα mypy ααΎαααααΌαααΆααααααααΆ Alore αααααΆααααααΆαααΌαααΆααααΆααααααααααααα Java αα·α Python) α
ααΆααααααααΎ API ααααααααααα CPython ααΊααΆαααααΉααααα»αααΆααα·αααΆααααααααααααΆααααααααααααααααα ααΎααα·αα αΆαααΆα αα’αα»αααααααΆαααΈααα·αααα·α α¬αααααΆαααααΆαα½αααα mypy ααααΌαααΆααααααα ααΎαααΈααα ααΎααα ααα’αΆα α αΌααα ααΆααααααααααα’αααΌ Python ααΆααααΌα αα·αα§αααααααΆααα’αα (ααΌα ααΆ pytest)α αααααΆααααααΆ ααΎαα’αΆα ααααααααΎααΌα Python αααααααΌαααΆαααααααΆαααα‘α»ααααα’αα·αααα αααα’αα»ααααΆαα±ααααΎαααααααααΎααΆαααΆαα½αααΉαααααΌαα ααααααΆαααααΆααααααΌαααΌα αα·αααΆαααααααΆ ααΆααΆααααα αΆαααΌαααΎααααΈα αααααα ααΆα αΆααααΌα ααΆααΎααααα»αααααΎααΆαααΆαααα’ααα αΆααααα½ααααα»αααΆαα’αααα»αααΎαα α’αΈααΈα ααΌα ααααααΎααααΈαα·ααΆα α αΎαααΎαα αΌαα α·αααααΆα
αααααα·ααΈα ααααααααααΎαα α ααΆ mypyc (α αΆααααΆααααΈααΆααααΎ mypy ααΆαααααααΆααα»ααααααΆααααΆααα·ααΆααααααα) ααΆαααααααααΆαααΆααααααααααααααααΆααα ααα»ααα ααΎααααααα ααΆαααΆααααααΎαααααΏααααα αα 4x αααααΆααααΆαααα mypy ααΉαααΆααααααα·αααΆαααααΆαααααααΆααα ααΆαα’αα·ααααααααααΌααααααααα mypyc ααΆααααααα»αααΌα αα½ααααα Michael Sullivan, Ivan Levkivsky, Hugh Hahn αα·ααααα½ααααα»ααααα αα 4 ααααααα·αα·αα α ααα½αααΆαααΆααααααΊααΌα ααΆαα’αααΈαααααααΌαααΆαααΎααααΈααααα mypy α‘αΎααα·α α§ααΆα ααααα αααα»α C++ α¬ Go α α αΎαβααΎαβααααΌαβααβααααΎβααΆαβααααΆααβααααΌβαβα αααΎαβαα·α βααΆαβααΆαβαααβααΎαβααααΌαβααααΎβαα βαααβαααβααΎαβααααΌαβααααΎβααΆαβαααααβααΆβααΆβααΆααΆβαααααβαααβα ααΎααααααααΉααααααααΆ ααΎαα’αΆα ααΆααα mypyc αααααααα·ααα½ααααα’αααααααααααααα·ααΈ Dropbox ααααααααα’αΆα ααααΎααΆααΎααααΈα ααααα αα·ααααααΎαααααΏαααΌααααααα½αααα
ααΎααααΈαααααα ααΆαααΌαααααα·αααααΆαα’αα»ααααααα ααΎαααααΌαα’αα»αααααααααααααΆααα·ααααααααα½αα±ααα αΆααα’αΆαααααααα½αα ααα½αα ααΌα ααα αααααα·ααΈα αααααα’αΆα αααααΎαααααΏαααααα·ααααα·ααΆαααΆα αααΎααααααααΎααΆαααααΆαααΆ C αααααΆαααααΏαααΏα αα·αααααα·αααΆαα α§ααΆα ααα ααΆαα α αα»αααΆααααααΆαα αααααααααΌαααΆααααααααα ααΆααΆαα α αα»αααΆα C α α αΎαααΆαα α ααααααααΊααΏαααΆαααΆαα α αα»αααΆααααααΆαααααααΆαα ααααα·ααααα·ααΆααα½αα ααα½α ααΌα ααΆααΆαααααΎααα ααΆαα»αααα αα ααααΆαααααααααΉαααΆαααααΎααααΆααααΆαα α C-API ααααααΆααΈ CPython αααααΏαααΆαααααα·α αα αααα αααααα ααΎαα’αΆα αα»αααααΆααααααα»αααααααααΎααααααααααααααααΎαα‘αΎααααααΆαααααααΆα ααα»αααααααα»αααααΈαααααΆααααααααα αααααα·α αα½α ααα»ααααααα αααα»αααααααααααααΆαα’αα»ααααα
ααΎααααΈαααααα’ααααααααΆαααααα·ααααα·ααΆα "ααΊα" ααΌαα αααα»α ααΎαααΆαα’αα»ααααααααααααΌαα αααααΆααααααα·ααααααααα ααΎαααΆαααααΆααΆααααααα mypyc ααΎααααΈα±ααααΆαααααΎαααΌα C ααΏαααΆααα»ααααααΆααααααα·ααααα·ααΆααααααα α¬αααααααΌα Python αααααααΌαααααΆα‘αΎααα·ααααααααΎααααα·ααααα·ααΆαααΏαααΆααα»α (α αΎααααααααααΎααα·αααΆααααααααααΆααααααααααΆαααααααΆαααααα αΆααα α¬αααα αΆαααααααααα) . ααΆααααααααΌα Python α‘αΎααα·αααΆααΉαααΆααααΆαααααααααΆαααΆααααα½αααΆαα αααααααα αΆααΆαααΆαα±ααα’αααα αααααααααΎααΆααααααααααΌα ααααΆαααααααααααααααα·α αααα»αααααααααα ααΎαα ααααααΎα±ααααΆαααααΆααααααΌαααΆα αααΎαααΆααααααααααααααααααααα· ααα»αααααα αααααα ααΎαααΆααααααααΎααΆααααααΎαααααΏα mypy αααααΆαααΆααα·αααααααΉαααααααα·α αα½α αααα»αα α αΎααααα»αααΆαααααααα ααααααα ααα ααΎαααΆαααΆαααααα»αααΆα αααΎαα
αα βααΆαβααΆβααααβαααβ¦
α’αααα’αΆαααΆααΈαααα‘αΆαα! ααΎα’αααα αΆααα’αΆααααααα’αααΈααααα αααααααααα mypy αα αααα’αααααΉαααΈα’αααα·ααΆαααααααΆ?
ααααα: www.habr.com