Найти тему
Нулевой Data Scientist

Python "с нуля". Это возможно?

Оглавление
Это реальный скриншот из моего Юпитер Ноутбука с решениями задач из курса.
Это реальный скриншот из моего Юпитер Ноутбука с решениями задач из курса.

Коснулся самой вершинки этого пока еще не знакомого айсберга. И ответил для себя на главный вопрос: А возможно ли изучить Python вообще без знаний программирования? Для торопыг - Да. А для тех, кто действительно этим вопросом задается, у кого куча сомнений и кому нужен развернутый ответ - читаем дальше.

В предыдущих статьях я уже писал о себе, повторяться не буду. Надеюсь ты не поленишься и хотя бы мимолетно, по диагонали прочитаешь мои предыдущие статьи, чтобы понимать о чем я тут вообще пишу.

Так вот. Я прошел первый пункт своего плана обучения и перешел ко второму - мимолетное изучение основ Python. Почему мимолетное? Потому что в основном курсе у меня будет погружение в Python более основательное, и чтобы там не тратить время на понимание самых базовых основ, я решил на другом ресурсе получить эти знания. Это бесплатно и без ограничений во времени. Кому надо пишите мне в ТГ - кину ссылки.

Немножко поясню тут. Я купил платный курс по Data Science. Там есть блок с Python. Курс открывается бессрочно, но куратор со мной будет только 1 год. А мой темп обучения достаточно медленный, и я не хочу тратить большое количество времени работы с куратором на разбор тех разделов, которые я могу сейчас изучить в "бесплатном" формате. Надеюсь пояснил.

Я затрону основные, самые крупные тезисы, которые у меня лично вызывали страхи и сомнения.

Инструменты для работы

Сейчас я прохожу курс по основам Python от крутых ребят, которые специализируются только на аналитике данных, машинном обучении. А для меня это важно, чтобы основы Python давались в плоскости и на инструментах, с которыми мне потом работать в реальных проектах. На примере редактора кода, но касаться это будет и других инструментов, с которыми надо будет работать.

Есть редакторы кода т.е. программное обеспечение, где непосредственно пишется код. Своего рода Майкрософт Ворд, только вместо текста для печати пишется код для работы твоей программы. И таких редакторов достаточно много, все они отличаются возможностями, интерфейсом, различными расширениями. В аналитике данных чаще всего применяется Jupyter Notebook. Я предварительно просмотрел много разных описаний курсов по Python, где-то даже прошел пару уроков и в них использовались другие редакторы. Ну а зачем мне потом тратить время на переучивание работы с инструментом разработки, если есть курсы, где вот пожалуйста, Юпитер ноутбук. Именно так я подумал и это было одним из критериев выбора курса. Т.е. начинать работать с инструментами из реальной работы и проектов, надо уже на этапе обучения. А изучить их много времени не надо. Если ты справляешься с новым приложением на смартфоне, то +20% к шансам, что ты освоишь инструменты для программирования на Python или другом языке программирования.

А хватит ли моих имеющихся знаний?

Я прошел уже два урока по текущему курсу. Сказать, что легко? Да не очень. Тяжело? Тоже особо не потел. В итоге получаем что-то среднее между "нахер я в это ввязался" и "что я 2+2 чтоль не сложу тут". Это при условии, что ты знаешь математику школьной программы и мало мальски умеешь мыслительные процессы свои запускать, т.е. ты можешь думать и готов дойти до решения задачи, ибо без этого тут будет первый вариант на 100%.

Основная сложность у меня сейчас в том, что надо подключать те части мозга и думать о том, о чем в своей текущей деятельности я вообще никак не касался. Были задачи вроде бы математические (ну на работе я работаю с цифрами), но математические они только с той позиции, что надо найти решение с помощью математики. Сложно так объяснить, покажу настоящий пример.

-2

Казалось бы, что тут не решить то. Вот отцу 30 с половиной лет, а сыну 5 лет. Ну попробуйте сходу решить. Получится? Я провозился суммарно около одного часа в 3 захода. Безусловно, если это один отец и сын, тут методом подбора можно выйти на решение. Но если входных данных по отцам и сыновьям будет много, то долго так будешь подбирать считать. А программа должна вот давать конкретный результат по каждому отдельному случаю. Мое решение задачи в Python выглядит так, на примере отца 33 лет и сына 3 лет. Через 27 лет разница будет в 2 раза между ними. Можно подставлять любые данные входные по отцу и сыну, программа даст готовый ответ, не нужно сидеть в калькуляторе и подбирать цифры, когда же сойдется разница в 2 раза.

-3

Сложность заключается не в самих математических операциях. А в том, какие именно операции надо сделать и с какими данными, т.е. что на что надо умножить, поделить, вычесть или сложить, чтобы получить нужный результат. Сами операции знакомы нам всем, но собрать из них алгоритм ... тут кроется для меня сложность на текущий момент.

Или вот еще одна задача, которая отняла много времени.

-4

Ну и тут, вроде бы ерунда. Знаем сколько секунд в минуте, в часах ... А как теперь разбить заданное количество секунд на составляющие в часах, минутах и секундах? И чтобы это все делала программа в рамках одного заданного числа.

-5

Тут тоже, простейшие операции деления из уроков 1-2 класса начальной самой обычной среднестатистической школы. Но уложить их в алгоритм ...

Надеюсь не напугал, а, напротив, ты решил эти задачи легко, в отличие от меня. Но даже если не решил, то это нестрашно. Страшнее не попробовать. Меня это увлекло, несмотря на то, что на простые казалось бы задачи я тратил много времени, как мне кажется.

Итого тут: без базовых знаний будет очень сложно. Писать код - это делают пальцы, код идет из твоих знаний той деятельности, в которую хочешь погрузиться. Поэтому ставь еще 50% к успеху своему, если есть база.

А вообще это мое?

Пока не попробуешь - не узнаешь. Мудрость работает очень часто и тут она как никогда кстати.

Нынешний мой курс, хоть он и очень усеченный, дает только основу основ, помимо этого он выполняет очень важную функцию - знакомит тебя с тем форматом работы, который тебе предстоит. Т.е. ты на эти несколько часов, дней, недель, что проводишь время за курсом становишься программистом, разработчиком или на кого ты там собираешься учиться. Своего рода демо-версия нового тебя, в новой роли.

И тут начинается очень важное. Когда ты погружаешься в это, тебе либо нравится, либо нет. И от этого уже можно плясать дальше, т.е. ты пока на верном направлении и продолжаешь путь, либо меняешь вектор и ищешь что-то другое, но тоже в IT. Определенно, выбрав первый вариант, может настать момент, когда ты поймешь, что это оказывается не твое и ты ошибся. Но давай на чистоту: если бы тебя все устраивало в твоей жизни и работе нынешней, ты бы вообще ничего не менял и не искал себя в IT. А раз такие мысли появились, что надо что-то менять и это что-то IT, то надо попробовать другое направление.

За себя скажу, что мне пока нравится та роль, которую я выбрал. Мне интересна наука о данных, аналитика данных поэтому я буду дальше двигаться в данном направлении.

Некоторые опытные IT-шники сами бегают из направления в направление - сегодня он разработчик, завтра аналитик, потом продакт-менеджер ... Поэтому не надо бояться и задаваться вопросами "А мне это подходит?". Надо пробовать. Благо есть такие возможности, пользуйся!

Заключение

Я намеренно скинул скриншоты из своего Юпитер Ноутбука. Для многих, кто вообще не знаком с кодом, это просто набор символов. А теперь самое интересное - для меня еще неделю назад было точно также. А сейчас я пишу сам код и понимаю, что написано на таких скриншотах. Безусловно, открыть реальный код на программу, где тысячи строк кода, каждую строку я вряд ли пойму, но отдельные фрагменты кода интерпретировать, за что они отвечают или что они делают уже смогу, подглядывая в справочники. И ты сможешь! Тут главное начать, попробовать. На первых сложных задачах и вопросах - не бросать, а пробовать их решить самому или подсмотреть как их уже решали в инете. И пробовать, пробовать дальше.

Отвечая на главный вопрос статьи: Да! Можно!

Если все-таки сомневаешься и все равно моя статья не помогла тебе сделать шаг вперед, но ты очень хочешь как-то сменить текущую деятельность, посмотри мое начало пути в моем канале или напиши мне в ТГ. Я все еще в начале и мы можем вместе идти и двигаться куда-то туда, неважно какое направление IT выберешь.