Python

Сколько времени потребуется для изучения Python на среднем-высоком уровне?

Не сильно разбираюсь в данной теме, поэтому хочу знать хотя бы примерную цифру
До-х-я.
Питон сейчас учат все, кому не лень.
А Вылезают даже за уровень онлайн-курсов - единицы.
Uri Сорокин
Uri Сорокин
15 040
Лучший ответ
Andrey German По поводу онлайн курсов полностью согласен, т.к. работодатели нынче очень не любят таких "программистов".
Uri Сорокин Ну-ну..
Без вышки в нормальных конторах программеры за еду всё равно будут изучать курс из высшего образования.
Если взять справочник (даже не учебник) по Питону где охватывается "средний уровень" - там 800 с чем-то страниц. Плюс дикое количество библиотек (несколько тысяч). А на Питоне всё в основном и делается именно с помощью сторонних библиотек
10к часов осознанной практики
Вова Иванов
Вова Иванов
55 095
Вопрос не корректен. Питон это вершина айсберга. Там под капотом столько всего, что тебе жизни не хватит на изучение всего.(преувеличение конечно)
А простые программы ты можешь писать прямо сразу, без знания языка, просто находя нужную информацию в сети.
К сожалению, изучение питона не особо потом тебе поможет в изучении других языков программирования, поскольку сам питон - язык высокого уровня. И синтаксис и название операторов будет сильно разниться, в сравнении к примеру с тем-же C#.
Но все-таки, это очень хороший старт.
Ты лучше сразу ищи, какой уровень знания языка тебе нужен, чтобы устроиться на работу. А какой тебе нужен, чтобы писать программы, какие ты сам хочешь, ты сам поймешь со временем.
Месяцев 7, изучая на ежедневной основе хотя бы по часу-2
если не бухать , недели за глаза
Для того, чтобы работать разработчиком, где-то год минимум на изучение + практика (различные проекты, которые сформируют портфолио). С этим портфолио и начальными навыками устраиваться Junior-разработчиком. Затем года два работать джуном, набираться опыта и ни в коем случае не забрасывать изучение языка. В среднем за такое время становятся Middle-разработчиками. После Junior-уровня больше будут оценивать опыт в коммерции, т.е. опыт работы над реальными продуктами, задачи, которые решались конкретно в коммерции.
Чтож, обобщу для Вас.

Действительно, принято признавать мастерство при упорстве после 10.000 часов осознанной практики. (справедливый ответ, с меня лайк)

Что именно значит изучить Python?

Если это логические и математические задачи и циклы, то Вы можете за неделю спокойно вот на этом уровне выучить языков 10-15 или более. Отличия будут минимальны. Конечно, опять же, это зависит от Вашего понимания их парадигм (ООП к примеру, в плане переменных и функций), особенностей (явных; пробелы к примеру) и типов данных, а также о том, как строится их структура (языки с и без явно подконтрольного препроцессора).

Если выучить какой-нибудь Django - это вопрос в том, какие задачи Вы будете реализовывать, чтобы практиковать своё понимание этого фреймворка. Если Вы будете использовать 100% и будете иметь потребность в 100% использовании при том читая документацию и практикуя и делая выводы, то Вы можете быстро его выучить, но потому, поскольку имеете цели и проекты, в которых суть Django (и его использования) Вам видна.

Учить фрэймворк не понимая его сути сложнее и может затянуться на долго (то есть, это человеческий фактор в изучении нового в программировании, к примеру).

Если же изучить Python это нечто выше, чем понимание его типов данных, парадигм (то есть, понимание что такое "переменная" в этом языке, к примеру, "объект") и при том вопрос не о фрэймворках, то Вы можете посмотреть исходники стандартных библиотек/функций Python (папки/папка Lib и(ли) Libs если не ошибаюсь).

У Python есть "пользовательского уровня" абстракции и абстракции более низкие, как бы, "Python API" на котором реализуется работа препроцессора (интерпретатора) Python. Но я не думаю, что Вы будете делать форк [типа] Rython (RPython) или вникать в Cython (CPython) или делать иную реализацию, типа IronPython (вероятно, менее "чистый форк") и подобное.

Если Вам всё же интересен низкоуровневый Python, то устройство и сам проект Rython (RPython) для Вас и PyPy - Вам в пример. А как быстро Вы это изучите? Зависит от того, что цепляет Вас в этом и какие наиболее частые подходы Вы будете использовать.

К примеру, я когда-то учил dosbatch (cmd.exe) и научился делать безопасные почти чистые (в рамках dosbatch в плане единого языка) программы, которые могли бы воспроизводить функционал, к примеру, nnCron или утилит Nir Sofer или SysInternals того же.

Потом я решил научиться PowerShell и очень быстро понял о чём речь. Осознанно я его учил менее двух-трёх дней, а в итоге смог написать безопасную и программируемую (настраиваемую) реализацию генератора эффекта матрицы. Опять же, задача специфична и тут более вопрос о том, что именно Вам легче программировать и что Вы в этом ищите и реализуете чаще всего. Мне, к примеру, довольно легко учить новые языки в плане стандартных каких-то вещей для создания утилит. К примеру, подключать DLL, обработка параметров командной строки, системные вызовы и те же WinAPI, массивы объектов, стек. Но это потому, что у меня был реальный опыт реальных задач, хотя задачи были моими личными. ("я хотел и делал")

В общем, удачи Вам. Всем бобра.