ααΎααααα αΆαααΌαα’αααααΌααααααααΈααΈααααΆααααααααααααΆααα’αααΈααααΌαααα Dropbox ααΆααααα αααα’αα»αααααααααααααα·αα·ααααααααααααααΆααααΌα Python α
β ααααααα»αα
ααΆαααα 4 ααΆααααααΆααααααΌααααααΆαααΆα
αααα αΆαααααααααααΆαααα½αααα (αα·αααΆααααα½αααΆααααααΆααΌαα αααα»αααΈααΈααααα»αα ααααα’ααααααααΆααααααααα·αααααααα»α) ααΊααΆααααααΎαα ααα½αααΌαααααααααααααααααααΆααααα½ααα·αα·ααααααααααα αααα»α Dropbox α ααΎαααΆαααΆααααααα·ααΈααΆαααααααΆα αααΎαααΎααααΈαααααααΆααααα αΆααα α αΆααααΈααΆααααααΎαααα αααααΌαααααΆαααΌααααααΆαααΆααααα αΌααααααααααΆαα· αααααΆααααααααΎαα·α αα αα·αααααααΉαααααααααααααα»α mypy ααΎααΆαααααα·ααααΆαααααααααααααααααααα·ααααα·αα·αααα αα·αααΆαααααα αα ααΈαααα αα ααΆα αΆααααΌα ααΆαα·αααΆααα»αααααΆααααααααααααΆαααααα ααα»ααααααΎαα’αΆα αααααα ααΆαααΌαααααΎααααΆαααΆαααα αααα αααα»αααα·ααΆαααααΌαα αααΆααα’αΆααααααααααα½ααααα αΌαααααΆααΌααα·ααΈααΆαααααααΆα αααΎαα
ααΆαααααα ααααΆαα Python αααααααα»αααααααΎα (ααΆαα½αααΌα backend) ααΆαααΌαα
αααΆααααααααα·α 4 ααΆααααααΆααα ααΆαααΆαααΎααΆαααΆααααααΌααα·αα·ααααααααΌαααΆααααα
αααααα»ααααααααααα ααααΈααααΆαα α₯α‘αΌαααα Mypy ααΆαααααααααααααααααααααΆαααΆαααααααααααααααΌα αααααααΎα±ααααΆααΆααααααΆααααα½ααααα»αααΆαααΆαααΆαααααΎαααΆαααΆαα’αααααα ααΆαα·ααα ααΎαα’αΆα
αααααΎααααΆαααΆαααα’αααΈααΌααααααΆαααΆααα·αα
αααΆααααΆαααα
αααα»ααααααα ααΌα
ααΆα§ααΆα ααα ααΆαααααΎααααΆααααΆααααΆαααααααααααα½αα Any
αα
βαααα»αβα
αααΆαβααααααβαααβαα·αβα’αΆα
βαααααααααΆααβααΆα α¬βααΆαα½αβααΉαβα’αααΈαβααΌα
ααΆβααΆαβααΆαα
αΌαβαααααΆαααβααΆααΈβααΈααΈβαααβαα·αβααΆαβα
αααΆαβααααααβααααααα ααΆααααααα½αααααααααααααΎα±αααααααΎαα‘αΎαααΌαααΆαααααΉαααααΌαααααΆααααα½ααα·αα·ααααααααααα
αααα»α Dropbox ααΎαααΆααα½αα
αααααααα»αααΆααααααα’ααΆαααααααααααα (α―αααΆααααα α
ααΆ stub) αααααΆαααααααΆααααααααααΎαα
αα ααααααα·αααα½αα
ααα½ααα
αααα»αααααΆαα Python αααααΆαα
ααΎαααΆαα’αα»αααα (αα·αααααααααααααΆααα
αααα»α PEPs ααΆαααααααααΆαα) αααααααα·αααααααΈαααααααααααααααααααα’αα»ααααΆαα±ααααΆαααααααα
αααΆααααΆααααααααααααααααΆααααααΌ Python ααΆααααΆαααα½αα
ααα½αα α§ααΆα ααααα½αα±ααααααααααΆααααααΏαααα TypeDict
αααααααααααααααααααΆαααα
ααΆαα»ααααααΌα
JSON αααααΆααααα»αααααααα’ααααααα αααααΈαα½ααααΆααααααααααααααααααααΆα ααΎαααΉααααααααααΈαααααααααααααααα ααα αΆααααααΆααααααααΎαααααααΆααΉαααααΎα±αααααααΎαα‘αΎαααΌαααΆαααΆαααααααααΆαααααααααΆαααααααα Python α
α
ααα½ααααααΆααααααΌαα
αααΆαααααααα αααΆαααΈααα
α
ααα½ααααααΆααααααΌαα
αααΆαααααααα αααΆαααΈαααααα
α
ααα½αααα»ααααααααΆααααααΌαα
αααΆααααααα
αααααΆαα·αααααΆαααΌαα αααα»αααΆαααααΆααααααααΎαααΆαααααΎααΎααααΈαααααΎαα ααα½αααααΌαα αααΆααααααααα αααα»α Dropboxα
ααΆαααααα ααααα αααΆαααααααα ααΎαβααΆαβαααααΎαβαααααΌαααΆαβααΆβαααααΎααβαααααΆααβααΆαβααααα ααβααβααΆαβαααα αααΆαβααΌαβααααΈα ααΎαααΆαα αΆααααααΎαααΆαα½αααΉααααααΉαααααΈααααααααΎα±ααααααααα αααΆααααααααα ααΆααα―αααΆααααααΆαα αααΆααααααααα½αα ααα½ααα½α α αΎαα α₯α‘αΌααααααΎαααΆαααΆαααααααα αααΆααααααααα αααα»αα―αααΆα Python ααααΈ αα·ααα αααα»αα―αααΆααααααΆαααααΆααααΆαα αααΎαα
ααΆααααΆαααΆαααα ααΎαααααΎαααΆαααΆααααααα αΆααααααΆα αααααααα»αα’αααΈααααα·αααααΆαααΆααααα αΌααααα»αααΌααααααα½ααα αα·ααααααααααΌααααΆαα’αααΈα’αααΈααααα½ααααααααΆααααΆαα»ααα·αα
ααΆαααααΈααααΆααα mypy α ααΎααα·ααΆαα’αααΈ mypy αα αααα»αααααΉαααα·ααΆαααααΆααΆ α αΎααα·ααΆααα ααΆαααααα»αααΎααααΈαα½ααα½αααα αΆααααααΎαααΆαα½αααΉαααααααα αααΆαααααααα
ααΆαααααααααα ααΎαααααΎααΆααααααααα·α’αααααααΎααααΆααααΆαααΆααααααααΎααααΈααααααααα αΆαααα ααΎαααααααααα½ααα½α ααΆααααα αααα»αααΆααααααααΆααααα αΆααΆααααα (ααΌααααΈαααααααΎαααΆααΆααααΈααΎααααΈαααααΎαααααΏα mypy!)
ααΆαααααααα ααΎαααΆαααααΎα±αααααααΎαα‘αΎαααΌαααΆαα’αα»αααααααα mypy αααΆαααααΆαααααααααΎαααα·α αα·α mypyc α αααααααΌαααΆαααααΎααΎααααΈααααΆααααΆααα’αΆαααα’α½ααααααΎαα‘αΎααααα»αα’αα‘α»ααααααααΎαααΆαα αααΆααααααα αα·αααΎααααΈα’αΆα ααααΎααΆαααΆαα½αααΌααα½αα ααα½αααα
ααΆααα½ααααα αΌαααΆαα½αα’αααααααααα½αα ααΎαααΆααααααΎαα§αααααααΎααααΈααΆααααααααΎαααΆα mypy αα αααα»ααααααα·ααΈαα·αααααααααααα·αααα ααΎ Dropbox α ααααα½ααααα αΌαααΆαα PyCharm, Vim αα·α VS Code α ααααα½αααααα½ααααααααΎαααΆααααααα αααΆαααΌα αα·ααα·αα·αααααΎααα»αααΆαααααααΆα ααααααβααβαααααααΆαβααΆααβαααβααΊβααΆβααΏαβααααααΆβαα βαααβαααααβα αααΆαβααΌαβαααβααΆαβααααΆααα
ααΆααα·ααΆααα·αα·ααααα ααΎαααΆααααααΎαα§αααααααΎααααΈααααα·ααααΆαα αααααααΆαα»αααΆααααααααΎα§ααααααα·ααΆααα·αα·ααααα α§ααααααααα’αΆα ααααΎαααΆαααΆααααααα»αααααΆαααΆαααΆααααααα»ααααα ααα»ααααααΆαα½αααΎααααααΎαααΆαααααααααααααααααααΌαααααααΎαααααα·αα αΆαααΆα αααααΉααααααα αααΎαα
ααΆαααΆαααααααααΆαααααααΆαααααΆααΈααΈααΈα ααααααααΆα
αααΎαααααααΎαααααΎ SQLAlchemy toolkit α ααΆααΆαααα’αααααααααααααΈαααααααΆαααΆααααααααα Python ααααααααα PEP 484 αα·αα’αΆα
ααααΎααααΌαααααααΆααααΆαααα ααΎαααααααΆα PEP 561 ααΆααααααΎαα―αααΆα stub αααααααΌαααααΆ α αΎαααααααααααα·ααΈαααα½ααααααΆαα mypy (
ααΆαααααΆααααααΎααα½αααααα
ααααΌααα ααΆαα 4 ααΆααααααΆααααααΌααααααΆαααΆααα·ααααααααΆααααα½ααααααΆααααΎαααα αα βααΎβααααΌαβααα ααΎαβααΆαβαα½αβαααααβααΉαβααααβααΆα αααΎα αα·αβααΆαβααααΎβαα»αβααΆβα αααΎαβαααα ααΆαααααααΊααΆαααα αΆαα½αα ααα½ααααααΎααα½ααααααα ααΎααααααΉαααΆααΆαααααΆααα’αααΈαα½αααααΉααα½αα’ααααααα±ααααααα»αααΈαααα αΆααααααααααΆαααα
ααΆααα―αααΆαα ααΎαααΆαα
αΆααααααΎαααΆαααΆαααααααΎαααααα·αα·αααααΎαα―αααΆααα½αα
ααα½αααΌα
ααα»αααααα α’αααΈβαααβαα·αβααΆαβαα½αβαααα
αΌαβαααα»αβα―αααΆαβααΆααβαααβαα·αβααααΌαβααΆαβαα·αα·αααβααα α―αααΆαβααααΌαβααΆαβααααααβαα
βαααα»αβαααααΈβαααααβαα
βαααβα
αααΆαβααααααβααααΌαβααΆαβαααα αΆαβαα
βαααα»αβαα½αααΆα ααααα·αααΎααΆαα’αααΈαα½αααααΌαααΆαααΆαα
αΌαααΈαααΌαα»ααααααΆαααΈααΆαααα
ααΆααααα
αα·ααΆαααΆαααααΆααααααααααΆαααααααΎααααα»ααα·ααΆαα’αααΈααΆαααααΎααΆαααΆαα½ααααααααΌα
ααΆ Any
ααααα·αααααΌαααΆαααΆαααααααΆαααααααα αααααΆαα±ααααΆαααααααΆαααααΉαααααΌαααααΆαααΆαα’ααααα ααΆαα·ααααα
ααααΆααααΆαααααΌαααααΆαααααΎα
αααΆααααα»αα αα·ααΈααΆααααααααααΆαααααΎαααΆααααΆαααα’αα½αα±ααααααΆααααα’αΎααα αΌαααααααααααα αααααΈααΆααααΆαααΆαααααααΆαα½αααΊααΆααΆαααααααα―αααΆααα
αααα»ααα·ααΆαααΆαααααΆααα·αα·αααα‘αΎααα·ααααα αΆαααΈαααα αΆαα
αααα»ααααααααααααααααααΌαααααΆαααΌαα αααα»αααααΈααα’αΆααααααααα»α αα
αααααααααααααΆα
ααααααΆαααΈαααααΌαααααΌαααΆααααα
αΌαααααΆ ααααααα»αααααααα―αααΆαααααΈααααΆαα
αα·ααα
αα ααααααααααΌαααΆααα·αα·ααααα½α
α αΎα ααΆααΆαααααααααΆαααΆαααααααααααααααΆααααααα·αααααααΆααΆαα½αααααΆαα
αα·ααα
ααα αααααΆαα±ααααΆααααααΌαααΆαααΎααααΈααααΎααΆαααααΆααααααΌαααΆα
αααΎαα
ααααα
αααΆαααααααα αααα‘ααααααΎαα₯α‘αΌαααα ααΎαααΉαααΆααΎααα½ααααααααααααΌαα»ααααααΆαααααααΌααα
ααααααααα½ααα·αα·ααααααααααααα mypy ααΆααααααα αααααΉαααααΎα±ααααΆαααΆαααααααΎαααΆααααα’αΆα
ααααΆααααααΆαα
αααααααΌαα αΆααα αα αααααΎαα αΆααααααΎα ααΎαααΆααααα αα 4 ααΆααααααΆααααααΌα Python αααααΆαααααΆααα ααΆα αααΆααααΆααααΆααΆααααα αααΆαααΌαααΆααα’ααααααα·ααααααΆαα·α αα ααΆαααΆααααα½ααααααα ααΎαααΆααααααΎαα§ααααααα½ααααααααΆ PyAnnotate αααα’αΆα αααααΌαααααααΆααααααααα αααααΆαααααΎαααααααααΎαααΆα αα·αα’αΆα ααααααααααααα αααΆααααααααα ααΆααααΌαααααα’ααααααααα’ααααΎααααααΆαααααααααΌαααΆαα αααααΆαααΆαααΆααααα ααΎααα·αααΆαααααααααΆααααΆαα’αα»ααααααΆαααΌααααΌααΆαααα§ααααααααααα ααΆααααααΌαααααααΆαααααααααΆαααΆαααΊααααΆα α αΎαααΆααααααααααααΆααααααΎααααααααααααααααα·ααΆααΉαααΆαααααααΌαα±ααααΆαααΆαααααααα½ααααααααΆα αααΎαα ααΎαααΆααα·αα’αααΈααΆαααααΎαααΆαα§αααααααααααααααααααααααα·ααΆααααααααααΎααα·αα·αααααΎαααΌα α¬αααααΌαααααααΆααααααααααααα’ααααΎααΆααα·ααΆααα½αα ααα½αααΌα ααααααΎαααααΆαααΆααααααα ααα»ααααααΆααααααα α α·ααααα·αααααΎαα αααααΆααα·ααΈααΆαααααααΆααααΈααααααΆααααααααααΆααααααΆαααααα
ααΆαααααα ααΆα’αΆα ααααΌαααΆαααααααααααΆααααΆααΆαα αααΎαααααΌαααααΌαααΆααααα αααΆαααααααααααα αΆααααααααΆα ααΎααααΈααΉαααΆαααααΎαααΆαααααααα»ααα·ααα ααααΉαααααΌα ααΎααααα ααααΆαααΆαααα’αααΈαααΌαα»α αα·ααα»αααΆαααααΆαααααΆαα·ααααααααααΌαααΆααααααα αααΆαα α§ααΆα ααα ααΆααΆαααΆααααααΆααααΆαααααα»αααΆααααααααΌαα αααΆααααααααααααααααααΆαααααΌαα»ααααααΆααααααααααΌαααΆαααααΎαα αααα»αααααααααΆααααα ααα»ααααααααΆααααα αΆααααααααα»αααααΌαααΆααααα½ααααααααΆααααααααΈααΊαααααΆαααΆααααααΆαααααα»αααΆαα αααΆααααα αΎαα ααΎααααααα»ααα·ααααααααααΎααΆααα·ααΆααα·αα·αααα ααΎααααΈαααααΎαααΆααααααααααααααααααΆααααΌααααααα·αα
ααΆαβααΆαβα αΌαβαααΈααααΌα ααΆαααΎ αααα»αααΆααα·ααΆαα’αααΈααΆαααΆαα αΌαααΆαααααα·α ("ααΆαα ααααΌαα ααααα") αααααΆα’αααα·ααΆααααααααΎα’ααααΆαα·ααΆααααα»αααΆααααααΎαααααΏα mypy α ααΎαααααααΌααα·αααααααΎα±αα mypy ααΆααααααααααΆαααααααααααα ααααααααΆαααααΈααΆαααΆαα αΌαααΆαααααααΆαααααα ααααΈαααα ααΎαααΆααααα αααααααααα ααΆααααααααααααααΆααα‘αΎααα·α ααααααααααΆααααα αΆααΆαα αααΎααααα mypy ααΆααααααΉαααΆαααΆαα αΌαααΆαααΆααααααα αααα αΆααΆααααααα·αααΆααΎαα ααααΈααααααααΌααααααααα ααααααααΈ Alore αααααΆααΆααΆα’ααααααααααααα mypy αααααααααΌαα ααΆααααααααααα Alore ααααΎα±ααααΆααΆααααα½ααααα»αααΆααααααααΆααααα αΆααΆαα½αααΆααααααααΆααΆαα αΌαααΆαααααα mypy ααααααααΎαααΆαααα½αααααααΈαααααααααα½αα ααα½αααΈααΆαα’αα»αααααααα·αααΆαααααα»αααααααΆ (ααααααααα»ααααααΆαα Alore) α Python ααααΎβα±ααβααΆαβααααΎβααΆαβααΆαα½αβααΉαβααΆαβααΆαβα αΌαβααΆαααΆααααααβααΆαβααΆαβααααΆα ααΆβα ααααβαααβααΆαβααΆαβαααα ααβααα·βαα·αβα αααΆααβααΆααα ααΆα§ααΆα ααα ααααα·ααααα·ααΆαα αΆααααΆαααα½ααα·αααΆα’αΆα αααααααααααααα½ααααααααα½αα Mypy αα·ααααααα’αΆα ααααΎαααΏαααΌα ααααα αα αΌααααααΆαα αααΎαααααααα·ααα»αααΆαα αΌαααααΌαααΆαααααΎαααΆαα αα·αααΆαααΆααα·αα αααΆααααΆαααααααααα αααα»α Alore ααα ααΆααααααα α α·ααααα·αααα’αααααΆαααααΎα‘αΎααα αααα»αααααΆααααΆαααααΌαααααΆαα’αα·ααααααααααααααα’αΆα αααα αΆαααΈααΆαααααΆααααα’αΎααα·αααα’αααα’αααααααααααααα·ααΈααΆα αααΎαααααΆααααααα
ααααααα ααααΌααα ααΆαα 5 ααΆααααααΆααααααΌα αα·αααΎααααααααΈα
αααααα mypy ααΆααααααααααΌααααααααααΆα - ααΈααααΌααΎαααααααααααααααααααααααα 4 ααΆααααααΆααααααααααααΌαααα·αααααα αα αααααα mypy ααΆαααΆααα·αααααα ααΆαααααΆαα’αααΈαααααα Python ααααΌαααΆαααααΎα±ααααΆααααααααΆαα ααααααααααα ααααααααα’αααΌααααΆαα₯αααα·αααα½αααΆααααααΎαα‘αΎααα»ααα·αααΆαααΆααααα αΌαααΌα Pythonα ααΆααΆααααααααααααΆαααααα½ααααααΆααα ααΆααΆαα§ααααααααα½ααααααΆαα IDE αα·αα’αααααααααα½α ααΆααΆααααααααααααααααααααααααααΆα αααΎα αααααΈαα½ααααΆααα»ααααααααα· αα·ααα»ααα·ααααα·ααααααΆα
αααααΈααΆααΆααααα½ααα·αα·αααααααααααααΌαααΆααααααα±αααα½α α αΎααα Dropbox αααα»αααΏααΆααΎααα αααααα·ααααα»αααααΆααααΆαααααΌαααααΆαααΆααααααΌα Python α αααα»ααα·αααΆαα αα αααα·ααααΆαααα½ααα·αα·αααααααααααΉααααααα·αααα αα·ααααααα’α
ααααα·αααΎα’ααααα·αααΆααααΆαααααΎααΆααα·αα·αααααΎααααααααα αααα»ααααααα Python ααααΆαααααααα’ααααα ααΌαααΉαααΆααααααααΆαααααααΆααααα’ααΎααααΈα αΆααααααΎαααααΆααααΈαα ααΆαααΆαα’αααααα·αα·ααααα αααα»αααΆααα·ααΆαααΆαα½αα’ααααααααΆαααααΎααΆαααααΆααααααΌαααααααααααΆα ααααΆαααααΆααααΆαααααα»αα αααααα½ααααααααααΆαααΆααα ααΆααααα½ααα·αα·αααααααααααααΎα±αα Python ααααΆαααΆααΆααΆααααααααα·αααααα»αααΆαα’αα·αααααααααααααααααΆα "Python ααααααΆ"α
α’αααα’αΆαααΆααΈαααα‘αΆαα! ααΎα’αααααααΎαααααα checking αα αααα»ααααααα Python ααααα’ααααα?
ααααα: www.habr.com