Transcription
Всем привет! В этом видео я хочу рассказать о том, насколько хорошо нужно знать Python, чтобы устроиться на первую работу. Меня зовут Саша, я энд разработчик и энли в компании Лист. У меня есть опыт найма джунов и медлов, и даже их увольнения, поэтому, как мне кажется, я понимаю примерно, какие требования на сегодняшний день от работодателя к разработчику.
Также хочу оговориться, что я понимаю, что эти требования у каждого свои. Так как я представитель обычной IT-компании, то хочу передать примерно общее настроение по рынку. Если вы сейчас ищете или в будущем планируете искать свою первую работу Python-разработчиком, то надеюсь, моё видео поможет вам оценить свои знания.
Для видео я подготовил несколько файлов, в которых я попытался вместить основную кодовую базу, как мне кажется, которую должен знать джун по мнению среднестатистического работодателя.
Итак, первое, что должен знать, с чего мы вообще начнём, это настройка окружения. То есть джуниор должен знать, как установить ту версию Python, которая сейчас поднята на проекте, либо, например, самую новую, если он только начинает проект. Это он должен знать, как развернуть виртуальное окружение, как добавлять туда различные библиотеки, зависимости, как вообще с этими зависимостями работать. Для бы ознакомьтесь только с pip, вот эти вот команды — это, в принципе, всё, что нужно для начала.
Есть ещё альтернативные варианты, например, conda, вот особенно если вы только-только ищете первую работу. За это запариваться вообще не стоит, потому что за чаем ничего лишнего.
А идём дальше. Базовый синтаксис. В базовом синтаксисе здесь я просто в этом файле выписал всё подряд. Сейчас по порядку разберём. А здесь не ищите никакой логики, тут просто смысл в том, что вы должны понимать. Если вы знакомы конкретно с этой частью кода, если вам всё понятно, все операторы понятны, то значит, ваш уровень достаточен.
Если что-то вы увидите для себя новое, какую-то конструкцию, то значит, это нужно подучить.
Теперь поехали. Да, основные типы и структуры. Вот получается, это эллипсис, может, да, его кто-то не знает. Тут нулевые значения, там числа, строки, байты. Ну и структуры основные: там список, tuple, set, dict.
Вот основные операторы. Получается, не буду перечислять, да, просто вот посмотрите на них, на эти основные операторы. Если вы какой-то не знаете, то просто нужно подучить.
Цикл for, соответственно, он может быть как в простом формате, так и вместе с конструкцией break. Вот есть ещё списковые включения, однострочные. Ну, список, то есть можно в одну строку сделать. И тут условия добавлять могут быть вложенными друг в друга.
Вот, грубо говоря, цикл в цикле. Да, вот есть операторы присвоения, ну это понятно, все знают.
Вот есть ещё операторы распаковки. Допустим, можно ещё, кстати, вот тут не написал, да, можно ещё распаковать какой-нибудь словарь в другой словарь. То есть таким вот образом. Это просто конструкция, обычно применяется в тестах, ну или для защиты от какого-нибудь глупости.
В принципе, просто для тестов пока что достаточно. Цикл у него тоже есть обычная форма, и тоже есть конструкция функции.
С функциями уже маленько поинтереснее, здесь больше вариантов и в функции в Python. Но самое основное, смотрите, это то, нам нужно понимать, как вообще мы работаем с аргументами, то есть именованные и неименованные аргументы, вот эти *args. Да, нужно понимать.
А потом нужно понимать, что функция вообще может быть функцией высшего порядка и принимать на вход другую функцию. Вот функция может вызывать сама себя и таким образом уходить в рекурсию.
Вот я тут написал какую-то фигню, вот сейчас запущу проект и посмотрим. А, слишком низкой версии 3.9. Вот, ну типа рекурсию какую-то сделал. Но суть в чём? Суть просто в том, что если вам примерно понятно, что здесь написано, то и супер, едем дальше.
Да, лямбда-функции. Ну, то есть смотрите, вот эта функция принимает другую функцию. Нам конкретно в данном случае в этой функции нужно просто что-то сделать, неважно что, ну что-то такое незначительное. Вот лямбда-функция, безымянная, как раз для этого подходит. А, ну их тоже нужно знать.
А дальше идут декораторы. Дальше, ну именно в моей вот этой структуре. Да, так-то кто как вообще преподаёт, то что бы я преподаю, просто вот так вот сделал.
А, ну собственно, просто нужно декораторы понимать. А что это? Вот функция высшего порядка, что это такое? Есть паттерн, что декоратор, он как бы оборачиваемость передал. Это тоже, ну