My Authors
Read all threads
Типизация в Python
Начиная с версии 3.6 в пайтон завезли аннотации типами для сигнатур функций и переменных. Я попробую объяснить почему это круто и вам нужно начать их использовать.
Даже тем кто никогда не писал на статически типизированных языках, или очень хочет оставить себе возможность засунуть str там где нужно засовывать int.
IDE становится более полезной: показывает какие поля и методы есть у объекта, возвращаемого из функции, показывает какие параметры есть у методов и напоминает какие типы надо в них передавать. Подсветить связанные с этим потенциальные ошибки.
При помощи таких подсказок начинаешь реже сомневаться в том что делаешь, реже лазаешь по коду в попытках найти, что лежит в foo, реже переходите в браузер полистать доку и вообще лучше понимаешь что происходит. Нужные изменения вносятся быстрее при меньших затратах мыслетоплева.
Статическая проверка когда: Их можно использовать для настоящей статической проверки всего через mypy mypy-lang.org. Его так же можно постепенно внедрять в старый код без аннотаций. Этот инструмент сильно сократит вам количество багов и сэкономит кучу часов дебага.
В теории в будущем можно будет автоматически проверить правильность dtype в ndarray, или выводить шейпы на выходе по шейпам на входе. Работы в этом направлении ведутся github.com/numpy/numpy-st…
Еще типы в пайтоне позволяют писать меньше кода: яркие примеры это fastapi.tiangolo.com (как фласк, только быстрее и удобнее), typer.tiangolo.com — argparse/fire на стероидах, который сокращает количество boilerplate.
Вообще практики разработки больших проекты на пайтоне без особых болей активно развиваются, и не ограничиваются только типизацией. Хороший обзор можно тренди штук можно почитать в этой серии постов cjolowicz.github.io/posts/hypermod….
А если хотите просто прикрутить все best practices в новый проект сразу, то вам в этот стартер-проект github.com/TezRomacH/pyth… (Im a bit affilated)
А если же в вашем коде нет ни одного класса и между функциями вы гоняете только дикты листов диктов неясного содержания, или у вас нет функций, аннотации вас не сильно спасут. Вам стоит начать с книги Сlean Сode, чтобы понять, как можно писать код лучше и почему это стоит делать.
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Data Scientist

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!