Ну, например, пока вы набирали этот вопрос и теперь активно читаете вопросы, я бы уже разобрался, как написать простенький консольный скрипт с передачей аргументов)

И очень интересный вопрос, что значит познать? Синтаксис-то можно бегло за пару дней понять, а вот со всякими декораторами, метапрограммированием, самостоятельным управлением памяти, написанием дополнений на C придется повозиться. Да и глупо ставить цель изучать язык, надо пробовать делать конкретную нужную задачу.

Писать простые скриптики можно научится где-то за неделю.

Перестать задаваться вопросом, знаю ли я питон или нет, где-то через 3 года использования.

История моего знакомства с программированием довольно забавная и поучительная. Давно обещал нескольким людям подробно ее описать. Хорошо, что срок приема работ для статейного конкурса блога Нетологии уже поджимает — иначе вряд ли собрался бы. Итак…

PHP: начало

Желание освоить PHP появилось, когда я начал заниматься собственными информационными сайтами. Лет пять назад, без кучи качественных современных плагинов для WordPress, работать всерьез, не имея навыков разработки было непросто. Постоянно возникали мелкие проблемы, для решения которых приходилось заказывать услуги на фрилансе или задавать вопросы на форумах.

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

Подлил масла в огонь и неудачный проект, где на подготовку ТЗ и контроль результатов ушло невероятное количество времени и сил. Да я чаще переписывался с программистом, чем с женой! Требовалось поменять ситуацию.

Попытка номер раз: как не надо учить язык программирования

Что делает современный человек, если ему надо чему-то научиться? Правильно: гуглит.

На меня вывалился ворох информации — официальный мануал, статьи в блогах, видео. Я прилежно изучал все это, подмечая отдельные конструкции языка и приемы, но толку было откровенно мало. Разрозненные сведения никак не складывались в общую картину. Мне казалось, что научиться кодить — это значит выучить миллион типовых приемов и действовать по аналогии. Представляя, сколько времени уйдет на подобный подвиг, я не раз хотел все бросить.

Попытка номер два: никогда не знаешь, где тебе повезет

Не знаю, во что вылились бы эти потуги. Но мне очень повезло.

А потому две недели провалялся на диване в обнимку с книжкой «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5»

Не могу сказать, что это идеальный учебник (мне не с чем сравнить). Но основы он дает хорошо. А главное — в начале объяснения идут буквально на пальцах и с картинками. Это очень важно, потому что помогает разглядеть за закорючками в текстовом файле их смысл, понять суть программирования интуитивно. Помню, для меня поворотным моментом стало сравнение переменных и спичечных коробков. В переменную, как и в коробок, можно положить разное содержание, но сам коробок останется прежним.

Практика: мелкие скрипты just for fun и для облегчения работы

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

Проблем, впрочем, не возникло. Свой первый простенький калькулятор на php я писал около 3 часов (сейчас справился бы за 15 минут). Потом пошло куда легче. Мне скучно было искать новые учебники и выполнять задания по порядку, я с первых дней работал над интересными задачами.

  • Инструмент для принятия рациональных решений.
  • Калькулятор расчета окупаемости бизнес-идеи (не дожил до наших дней).
  • сервис smmup.ru.
  • Система оплаты через Яндекс.Кассу, подключенная к лендингу.

Чуть позже стал писать скрипты для SEO, использующие API различных сервисов (Яндекс.Метрика, Search Console). Тогда я на потоке делал SEO-аудиты на заказ, так что экономия времени благодаря автоматизации оказалась очень существенной.

Еще один приятный бонус от новых навыков — стало гораздо легче общаться с программистами (этого SEO-шнику не избежать).

Еще больше практики: публичный платный сервис

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

В один прекрасный момент мне надоело копаться в этом хламе. Я решил упорядочить код и объединить разные инструменты в виде онлайн-сервиса. В июле прошлого года выпустил первую версию.

Не до конца верил в коммерческий успех проекта. Хотя львиная доля возможностей не только полезна, но и уникальна на рынке, опыта продвижения сервисов у меня не было. «В крайнем случае, буду с удобством пользоваться сам, уже польза», — подумал тогда я и c чистой совестью выделил на разработоку три месяца своего времени.

Сейчас я очень доволен, что начал этот проект. В сервисе зарегистрировано почти 3000 пользователей, есть ряд постоянных клиентов — при том что на рекламу за все время было потрачено ровно 500 рублей (стал спонсором SEO-календаря на 2017 год).

Еще пару лет назад я бы не поверил, что смогу своими руками соорудить что-то подобное, но факт остается фактом — 90% работы над https://bez-bubna.com/ выполнил сам, отдав на сторону только несколько частных задач. По ходу дела изучил много нового, но к текущему моменту перестал придавать этому особое значение. Главное — это удается ли тебе решать поставленную задачу, а сколько всего знаешь — неважно.

Я до сих пор не считаю себя настоящим PHP-разработчиком. Но знаю, что изучить недостающее не составит проблем, если вдруг возникнет такая необходимость.

Python за три недели

В начале 2017 вдруг оказалось, что стоит бешеная мода на машинное обучение. И SEO-шнику, по хорошему, надо бы в нем разбираться не на уровне желтой прессы («нейросети снова учудили»).

А в машинном обучении используется что? Много чего, но в первую очередь Python и R. Недолго думая, я выбрал Python — он как-то больше на слуху в моей среде общения. Первым делом я пошел учиться на онлайн-платформу Shultais Education. Ее основатель — мой хороший знакомый. Несколько дней позанимался и понял, что курс отличный, но не совсем подходит мне по уровню. Он предназначен для новичков и в Питоне и в программировании вообще. А во втором я уже не совсем новичок.

Стал искать учебное пособие с более сжато изложенным материалом и набрел на сайт Питонтьютор. Читая уроки и выполняя задания, получил хорошее представление о синтаксисе языка. Но — не появилось ощущения, что владею им по-настоящему. Все время хотелось сбиться на родной PHP, хотя с первых уроков было видно, что Питон гораздо изящнее и проще.

В конце концов, я решил зайти с другой стороны и занялся непосредственно машинным обучением с помощью курса « Машинное обучение и анализ данных » на Сoursera. Над первым серьезным заданием по программированию пришлось повозиться. Но оно было похоже на реальную задачу из практики, так что оказалось не только сложным, но и интересным. А главное — когда я добился-таки правильной работы кода, наконец появилось чувство интуитивного понимания языка.

Дальше пошло как по маслу. Сейчас я постоянно использую Phyton в работе, парочка новых инструментов в сервисе написана именно на нем (а именно — инструмент для поиска LSI с помощью word2vec и лемматизатор).

Обновление: летом и осенью 2018 учился также на курсах «Python для SEO»: https://py4seo.com от Сергея Черненко. Могу смело рекомендовать, отличный преподаватель. Более того, он предложил скидку для моих читателей — по промокоду «trudov» вы получите этот курс на 10% дешевле.

Напоследок: зачем и как учиться программированию

Как ни странно, программирование — в первую очередь свобода. Свобода обращения с данными. Ты можешь как угодно их комбинировать, сравнивать, обрабатывать сложными алгоритмами, класть в основу моделей машинного обучения… При этом тебя не отвлекают мелочи вроде разных форматов и источников (API? просто сайт? куча файлов? — без разницы! под все давно есть готовые решения). Исключительно ценное умение для SEO-специалиста и интернет-маркетолога.

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

Сначала долгий период страха и сомнений. Суетливая, не слишком осмысленная подготовка (копание в статьях и мануале без системы).

И вдруг — полет наедине с небом. Все становится простым и понятным (чувство, когда написал свой первый настоящий скрипт).

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

Я решил взять тайм-аут после работы, чтобы выучить Python. Мне нравится Python, потому что на работе (Web и eLearning Company) я должен выполнять очень повторяющиеся задачи, такие как удаление всех этих тегов, переименование всех этих задач и даже более сложные повторяющиеся задачи. Кроме того, для меня было бы полезно сначала получить представление о Python из-за его довольно простого в освоении синтаксиса.

Сколько времени займет изучение основ Python?

10 ответов

Время, которое вам понадобится для изучения Python, естественно, зависит от вашего опыта, времени, которое вы вкладываете в него, и проблем, которые вы хотите решить. Наличие интересных проблем для решения, вероятно, является наиболее важным из них; Такие сайты, как Project Euler, прекрасно подходят для программирования в небольших масштабах, но немногие люди могут научиться хорошо программировать, не решая проблем, для которых требуется больше времени на размышления. Если вы хотите изучать Python для решения таких задач, как автоматизация

. very repetitive tasks like delete all these tags, rename all these tasks and even more advanced repetive tasks

Тогда у вас, вероятно, будет возможность выучить это довольно быстро.

Иногда я не решаюсь сказать, что я знаю Python в том смысле, что я мог читать и сразу понимать произвольный исходный код, особенно исходный код, который основывается на некоторой более тонкой магии, но в пределах, возможно, месяц случайного использования Я чувствовал себя комфортно в написании таких вещей, как утилиты командной строки, простые веб-скребки и научные программы для моих исследований. Я видел, как нубы (хотя и старшекурсники по математике, которые проходили курс программирования, необходимый для мажора) сидели с переводчиком, документами и писали сценарии, которые общаются с ГИС-серверами и анализируют результаты.

MIT имеет онлайн вводный CS-класс на основе Python , который должен дать вам хорошее начало.

Если вы решите поработать с классом, Wingware предлагает хорошую базовую среду разработки под названием Wing IDE 101 это лучше (IMO), чем IDLE Python. ActiveState также предлагает Komodo Edit , еще одну альтернативу IDLE.

Что касается того, сколько времени тебе понадобится, чтобы узнать . мяч на твоей площадке. : -)

Если вы знакомы с концепциями программирования в целом и языками сценариев в частности, то знакомство с Python не займет у вас слишком много времени. Вы, вероятно, сможете делать простые вещи за считанные часы, и почти все (хотя, вероятно, не очень элегантно) за считанные недели.

Теперь, чтобы стать действительно хорошим в Python, как и во многих других вещах, может потребоваться много времени. И много практики, учиться на примере других, читать и т. Д. Вы можете начать отсюда: Ссылка

24 часа: Сэмс научит себя питону за 24 часа . Это как пианино, есть степени обучения этому. Рекомендуемое чтение: Научитесь программировать за десять лет .

Не держите жесткий график для себя. Когда вы ознакомитесь с основными понятиями программирования, возьмите пример проекта в качестве упражнения и попытайтесь разработать его с помощью Python.

Эта дискуссия должна помочь вам получить дополнительную информацию.

РЕДАКТИРОВАТЬ. Противоположная опасность отсутствия строгих временных рамок ослабевает. Просто убедитесь, что у вас есть чувство срочности с тем, что вы изучаете, и что вы улучшаете каждый день.

Зависит от того, хотите ли вы выучить «синтаксис» (тогда будет достаточно ссылки @jokoon) или если вы хотите выучить «язык» (включая все принципы, общие шаблоны, проблемы с производительностью / преимущества и т. д.).

Кстати, Python часто используется в качестве исходного языка для учащихся в школах . Это легко понять.

РЕДАКТИРОВАТЬ: я добавлю эту ссылку, это очень полезно. Парень все объясняет четко, даже для новичков. Ссылка

Хорошо для вас, это вам очень поможет. Что касается изучения без программирования, могу ли я предложить байт Python ?

Он пройдет не только изучение Python, но и фундаментальные понятия, такие как переменные, функции и поток управления. Продолжите с модулем Python недели , чтобы познакомиться со всеми удобными частями стандартной библиотеки, которые идут в комплекте с питоном.

Изучение Python действительно легко, если вы изучили другие языки объектно-ориентированного программирования. Это легко один из самых прощающих с точки зрения синтаксиса. Рекомендуется быть первым языком, который изучают люди, так как он содержит все концепции ОО, но его легче читать и он менее типизирован как C ++ или в меньшей степени Java.

Конечно, он предназначен для людей, которые уже знают о программировании. Например, я уже знал C / C ++.

Если вы не обладаете достаточным опытом (т. е. не хотите заниматься значительными проектами) на другом языке программирования, вам следует обратиться к учебной / учебной программе, ориентированной на новых программистов.

Лично мне не нравятся книги типа "выучи x за десять минут" или "выучи y за двадцать четыре часа", потому что люди учатся в их собственный темп, поэтому я предпочитаю ресурсы, предназначенные для самостоятельной работы.

Серия Head First от O’Reilly — это отличные книги, в которых используются принципы теории обучения и когнитивной науки для улучшения удержания. Я использовал некоторые из их книг и слышал хорошие отзывы о Python Head-First .

Кроме того, одним из самых популярных учебных пособий является Изучить Python трудный путь , автор Зед Шоу Он доступен в виде печати, электронных книг, видео-классов и (бесплатно!) Онлайн-версии HTML. Он называется «Трудный путь», потому что он заставляет вас изучать основы практическим способом, а не просто бросает в вас упражнения, которые на самом деле не помогают вам по-настоящему понять, как создавать программное обеспечение на языке (что является моей критикой некоторых книги за 24 часа).

Кроме того, продолжайте с этим, и когда вы застряли, попросите о помощи. Этот сайт (для общих вопросов) и переполнение стека неоценимы. Если у вас есть рабочий код, который вы хотите улучшить, вы можете обратиться за помощью по адресу Проверка кода . Начните с серьезного обучения (книги выше, плюс множество онлайн видеоуроков и скринкастов), а затем воспользуйтесь широким сообществом разработчиков, которые готовы помочь новым программистам найти свою опору.