Разное

Python как учить: Говорят, выучить Python и стать программистом легко. Правда?

Содержание

Как выучить python самому в 2020 году. Блоги, видео, книги и советы ~ PythonRu

Красивое лучше, чем уродливое. Явно лучше, чем неявное. Простое лучше, чем сложное. Сложное лучше, чем запутанное. — Дзен Python, Тим Петерс

Этот пост не расскажет о том, что такое Python. Узнать об этом можно, просто введя соответствующий запрос в Google.

В материале «The Incredible Growth of Python» (невероятный рост Python) на StackOverflow есть такая цитата: «Python уверенно претендует на то, чтобы быть самым быстрорастущим языком программирования», и это правда. Статья также утверждает, что «Тег Python был самым посещаемым на StackOverflow среди пользователей из стран с высоким уровнем дохода». И это не просто высказывания случайного блогера. Факты основаны на статистике использования сайта за целый год.

Просто взгляните на этот график, показывающий тенденцию развития языка программирования Python. Разве он не прекрасен?

Вот список ресурсов, которые можно использовать, чтобы стать программистом самоучкой на Python.

  • Начните с Python 3. Python 2 «уходит на пенсию», а будущее за Python 3.
  • Изучите основы. Начать можно со следующего:
    • Если хочется интерактивного обучения, то стоит попробовать Codeacademy Python
    • Если нравятся видеоуроки, то их можно найти здесь:
    • YouTube — это тоже огромная библиотека видеоуроков. Вот некоторые каналы и плейлисты для изучения основ Python.
    • Если лучше всего учиться удается с помощью книг, то попробовать стоит вот эти. Они доступны бесплатно.

Совет: следуйте одной книге, не перескакивайте.

Кое-какую информацию можно найти в этом репозитории GitHub. Тут охватываются основы Python.

  • Развейте привычку читать и разбираться в официальной документации Python.
  • Если с чем-то возникли проблемы, не бойтесь задавать вопросы на StackOverflow с тегом #Python3. Но будьте точны, спрашивая. Можете следовать этому руководству, чтобы правильно написать вопрос.
  • После изучения основ переходите к более сложному материалу. С ним можно ознакомиться в одном из этих блогов:
  • Не бойтесь искать в Google решение проблем. Также не бойтесь уточнять мелочи при изучении таких тем, как декораторы, генераторы, паттерны программирования и так далее.

    Совет: всегда пытайтесь сначала самостоятельно решить проблему. Это единственный способ научиться. Если не выходит — задавайте вопросы.

  • Когда пишите код, следуйте правилам хорошего кодинга Python. О нем можно почитать здесь: https://pep8.org.
  • Используйте на максимум редакторы кода или IDE, такие как PyCharm, VsCode, SublimeText.
  • Проекты, проекты, проекты (очевидно).
  • Необязательно делать сложные коммерческие проекты. Но убедитесь, что реализуете основные концепции ядра Python.
  • Реализуйте основные библиотеки, поставляемые в виде пакетов: json, csv, urlliv3 и т. д. Также используйте пакеты от сторонних разработчиков.
  • Если ищите идеи, то некоторые перечислены здесь:
  • Создайте аккаунт на GitHub. Публикуйте там сделанные проекты. Если не знакомы с Git или GitHub, воспользуйтесь https://try.github.io. Это точно лишним не будет.

    Со временем GitHub превратится в полноценное портфолио

  • Следите за крупными группами по теме Python в Facebook. Отдельные их участники делятся хорошими материалы и проектами
  • Практика Практика Практика
  • Следите за проектами с открытым исходным кодом на GitHub. Здесь есть курируемый список таких проектов: https://awesome-python.com
  • Узнайте об инструментах:
  • Разобравшись с основами, ознакомьтесь со следующими библиотеками и веб-фреймворками:
  • Создавайте маленькие проекты с помощью изученных фреймворков и библиотек и выкладывайте их на GitHub.
  • Каждый день знакомьтесь с новой темой.

Изучение Python: от нуля до мастера | by NOP | NOP::Nuances of Programming

Первым делом спросим себя, что такое Python? Создатель языка, Гвидо ван Россум, описывает его следующим образом:

“Язык программирования высокого уровня, главная идея которого — это простая читабельность и синтаксис, который позволяет программистам выражать концепцию программы парой строк кода”

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

Следующей причиной было то, что Python мультизадачный. Мы можем его использовать для анализирования данных, разработки сайтов, машинного обучения. Quora, Pinterest и Spotify используют именно Python для своего back-end’а. Хорошая мотивация, чтобы узнать чуть больше об этом.

1. Переменные

Вы можете думать о переменных, как о словах, что держат в себе какое-то значение. Очень просто.

В Python нет ничего проще, чем определить переменную и присвоить ей какое-то значение. Представьте, что мы ходим сохранить число 1 в переменной, которую назовём “one”. Это будет выглядеть следующим образом

Что может быть проще? И при этом вы только что присвоили значение 1 для переменной “one”.

И таким образом вы можете присвоить любое значение любой переменной. И как видно в примере кода повыше, переменная “two” хранит числовое значение 2, а переменная “some_number” хранит значение 10,000.

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

2. Контролирование потока: условные состояния

Ключевое слово “if” используется для ситуаций, когда нам нужно выполнить разные действия при положительных или отрицательных условиях. При значении “истинно” будет выполняться описанный после слова “if” блок, например:

2 больше, чем 1, поэтому выполняется “print”-команда.

Блок “else” выполнится при условии, если условие “if” ложно.

Так как 1 не больше 2, то выполняется в блоке “else”.

Также можно использовать “elif” условие:

3. Циклы / итерации

В Python, можно создавать циклы различными способами. Мы расскажем о двух: while и for.

Цикл While: до тех пор, пока условие истинно, код внутри цикла будет выполняться. Таким образом, следующий код напишет числа от 1 до 10.

Циклу while нужно “условие повтора”. Если оно остаётся истинным, итерации продолжаются. В приведённом примере, когда значение num становится 11, условие цикла становится ложным.

Ещё один небольшой пример, чтобы лучше понять цикл while:

Условие цикла(loop condition) установлено в True, поэтому цикл будет выполняться до тех пор, пока мы не переключим его в значение False.

Цикл for: в цилке for мы назначаем переменную “num” для самого цикла, который в свою очередь будет увеличивать значение этой переменной. Следующий код напишет числа от 1 до 10 точно так же, как и цикл while:

Видите? Очень просто. Цикл начинается с 1 и продолжается до 11 элемента.

Представьте что вы хотите сохранить значение 1 в переменной. или может теперь вы хотите сохранить 2. А ещё 3, 4, 5…

Есть ли иной способ хранить все числа, что нам нужны, не имея при этом, не создавая при этом миллионы переменных? Как оказывается, есть иной способ хранить их всех.

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

Это действительно просто. Мы создали список и сохранили его в my_integers.

Но затем мы спросим себя: “А как нам получить нужное значение из списка?”.

Хороший вопрос. В списках есть концепция, которая зовётся номером(индексом). Номером первого элемента в списке является 0, следующий получает 1 и так далее.

Чтобы донести это проще, мы можем представить список, у которого каждый элемент подписан своим номером. Как на следующей картинке:

Используя синтаксис Python не сложно понять и следующее:

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

Это работает точно так же, как и с числами. Неплохо.

Только что мы выучили, как работают индексы в списках. Но мне всё ещё нужно показать вам, как добавить новый элемент в список.

Самая простая функция, которую можно использовать для этого — зовётся append. Работает она следующим образом:

Функция append донельзя проста. Вам всего лишь нужно использовать новый элемент(в примере выше это “The Effective Engineer”) как значение это функции.

Ну что же, достаточно о списках. Перейдём к следующей структуре данных.

Теперь мы знаем, что списки пронумерованы числовыми значениями. Но что, если мы не хотим использовать числа для идентификации элемента? Некоторые виды структур данных могут использовать числа, строки, или другие виды идентификации.

Одним из таких типов является словарь. Словарь это коллекция пар ключ-значение. Вот так это выглядит:

Ключ указывает на значение. Чтобы получить доступ к какому-либо значению — нам нужно обратиться к его ключу. Делается это следующим образом:

Я создал словарь о себе. Моё имя, никнейм и национальность. Эти атрибуты ключи в словаре.

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

В примере я написал предложение о себе используя значения, которые хранятся в словаре. Довольно просто, не правда ли?

Ещё одной хорошей особенностью словарей является то, что мы можем использовать что угодно в качестве значения. В том словаре, что я создал, я хочу добавить новый ключ “age”(возраст) и числом мой реальный возраст в качестве значения:

Здесь у нас пара из ключа(age) и значения(24). При этом ключ это строка, а значение это число.

Точно также как со списками, давайте научимся добавлять новый элемент в словарь. Ключ указывающий на значение — главная особенность словаря. И это же одна из особенностей при добавлении нового элемента в словарь:

Нам просто нужно дописать значение для существующего ключа в словаре. Ничего сложного, не так ли?

Как описывалось выше — итерации в списках довольно просты. Обычно Python-разработчики используют цикл for. Давайте посмотрим как это выглядит:

Таким образом, за каждую книгу на книжной полке(bookshelf) мы вызываем функцию print. Достаточно просто и интуитивно. Это Python.

Для хэш-структуры данных мы используем тот же цикл for, но в качестве счётчика выступает key:

Это пример того как мы используем этот цикл. За каждый ключ в словаре, мы используем print для вывода ключа и его значения.

Также есть другой способ сделать это используя функцию iteritems.

Мы назвали наши параметры как key и value, но в этом нет необходимости. Мы можем назвать их как угодно. Давайте проверим это:

В данном примере мы использовали attribute, как параметр для ключей словаря. Как видим, всё работает корректно. Отлично!

Немного теории:

Объекты это представление предметов из реальной жизни, например машин, собак, велосипедов. У объектов есть две основных характеристики: данные и поведение.

У машин есть данные, например количество колёс или сидячих мест. Также у них есть поведение: они могут разгоняться, останавливаться, показывать оставшееся количество топлива и другое.

В объектно-ориентированном программировании мы идентифицируем данные как атрибуты, а поведение как методы. Ещё раз:

Данные → Атрибуты; Поведение → Методы

Класс это как чертёж, из которого создаются уникальные объекты. В реальном мире есть множество объектов с похожими характеристиками. Например, машины. Все они имеют какую-то марку или модель(точно так же как и двигатель, колёса, двери и так далее). Каждая машина была построена из похожего набора чертежей и деталей.

Python, как объектно-ориентированный язык программирования, имеет следующие концепции: классы и объекты.

Класс — это чертёж, модель для его объектов.

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

Держа это в уме, давайте посмотрим на синтаксис Python для классов:

Мы определяем классы class-блоком и на этом всё. Легко, не так ли?

Объекты это экземпляры классов. Мы создаём экземпляр тогда, когда даём классу имя.

Здесь car это объект(экземпляр) класса Vehicle.

Помните, что наш класс машин имеет следующие атрибуты: количество колёс, тип топлива, количество сидячих мест и максимальная скорость. Мы задаём все атрибуты когда создаём объект машины. В коде ниже, мы описываем наш класс таким образом, чтобы он принимал данные в тот момент, когда его инициализируют:

Мы используем метод init. Мы называем этот конструктор-методом. Таким образом, когда мы создаём объект машины, мы можем ещё и определить его атрибуты. Представьте, что нам нравится модель Tesla S и мы хотим создать её как наш объект. У неё есть четыре колеса, она работает на электрической энергии, есть пять сидячих мест и максимальная скорость составляет 250 км/ч. Давайте создадим такой объект:

Четыре колеса + электрический “вид топлива” + пять сидений + 250 км/ч как максимальная скорость.

Все атрибуты заданы. Но как нам теперь получить доступ к значениям этих атрибутов? Мы посылаем объекту сообщению с запросом атрибутов. Мы называем это метод. Это поведение объекта. Давайте воплотим эту идею:

Это реализация двух методов: number_of_wheels и set_number_of_wheels. Мы называем их получатель и установщик. Потому что получатель принимает значение атрибута, а установщик задаёт ему новое значение.

В Python мы можем реализовать это используя @property для описания получателя и установщика. Посмотрим на это в коде:

Далее мы можем использовать методы как атрибуты:

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

Ещё мы можем использовать методы для других вещей, например создать метод “make_noise”(пошуметь).

Давайте посмотрим:

Когда мы вызовем этот метод, он просто вернётся строку “VRRRRUUUUM”.

Как выучить Python и найти работу

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

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

Python универсален — его используют и для написания приложений, и для создания расширений и интеграции отдельных решений.

Популярные в веб-разработке фреймворки – Flask и Django – написаны на Python. Библиотеки для исследования больших объемов данных Pandas и Scikit-Learn написаны на Python. Фронтенд YouTube частично реализован на Python.

Поэтому почти в любой крупной IT-компании есть направление, которое разрабатывает на Питоне. К таким гигантам в России относятся, например, Avito, Яндекс и Mail.Ru. В разделе вакансий каждой из этих компаний найдется актуальное объявление о поиске питониста.

Большинству работодателей нужны не столько знания, сколько умение их применять. Так, согласно статистике hh.ru, по запросу «Python-разработчик» на 2017 год, доля вакансий с требованием опыта разработки от 1 до 3 лет составляет 50%. Доля вакансий без опыта – 7%.

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

  • Писать чистый код
  • Создавать сайты с помощью Django
  • Валидно верстать, в том числе с помощью Bootstrap
  • Знать алгоритмы и структуры данных
  • Знать принципы ООП
  • Работать с GIT

Хотя Питон – простой в освоении язык программирования, из-за его многогранности самостоятельное изучение осложняется. Составить грамотный план изучения языка без знаний будет трудно, а то и невыполнимо для новичка. А ошибки и трудности будут регулярно мешать двигаться дальше, заставляя тратить часы и дни на гугление.

Однако во времена онлайн-университетов изучение нового не проблема. В случае с Питогом новичку поможет обучение в онлайн-университете GeekUniversity от Mail.Ru Group на факультете Python-разработки.

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

А посещать GeekUniversity в онлайн нужно будет не чаще 2-3 раз в неделю, в вечернее время.

Через год у студентов появляется резюме, портфолио (к примеру, собственная платежная система и сайт на Django, написанный с нуля), опыт проектирования приложений и командной разработки.

Не забудьте добавить сюда факультативы от Avito и Mail.Ru, а также курс по подготовке к прохождению собеседования. В конце концов, если вернуться к статистике HeadHunter’а, через год снизится и количество конкурентов среди соискателей – 18% с опытом против 21% без.

Занятия начнутся уже 21 сентября, поэтому лучше не откладывать. Узнать подробнее о программе и оставить заявку можно на странице онлайн-университета.

Записаться

 

 

Трюки и советы по Python, которые облегчат вашу жизнь

Упрощение Python кода с помощью знакомых инструментов

10 советов о том, как научить ребенка программировать на Python

Современные дети много часов в день проводят в компьютерах, планшетах, телефонах, а вернее сказать – в играх. Неудивительно, что им бывает любопытно узнать, как эти игры сделаны. Они даже могут захотеть создать собственную аркаду, квест или стратегию. Удачный момент, чтобы познакомить чадо с азами кодинга. Мало кто из популярных программистов или основателей IT-компаний не начинал свой путь с написания компьютерной игры. Сегодня средства для разработки программного обеспечения стали куда проще и интуитивно понятнее. Одним из таких инструментов является язык программирования Python и окружающая его доброжелательная среда.

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

  • Команды и синтаксис просты и легко читаемы по сравнению с другими языками программирования. Язык обязывает к аккуратности в написании кода (например, неотъемлемой частью, а не просто средством форматирования, являются отступы).
  • Python содержит множество встроенных библиотек, а также колоссальное сообщество программистов, разрабатывающих для различных задач собственные библиотеки и программы. В большинстве случаев ребенок сможет самостоятельно найти ответ на возникающие вопросы.
  • Формальные ошибки выявляются в процессе запуска программы, что облегчает их поиск. Это повышает мотивацию ученика продолжать обучение.
  • Совместно с платами Raspberry Pi и другими подобными платформами Python позволяет соединять между собой компьютер и внешний мир, реализуя, среди прочего, концепцию интернета вещей. Это делает процесс программирования более наглядным и захватывающим.

Ниже представлены 10 советов, которые помогут увлечь ребенка программированием на Python.

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

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

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

Дистрибутив Python по умолчанию включен в состав многих операционных систем. Так, на Mac или Linux достаточно в терминале набрать команду python либо открыть страницу с онлайн-интерпретатором Python. Такая «встроенность» покажет, что заниматься программированием можно в любой момент, когда и где захочется, просто для фана.

Если вы умеете программировать, напишите несложную игру, в которую вам вместе будет нескучно играть. Например, кто быстрее угадает число из наперед заданного диапазона (с подсказками «больше/меньше» в случае неудачи).

При проявлении интереса вы можете строка за строкой пройтись по коду программы, объясняя, что делает та или иная часть кода. Когда ребенок спросит, что произойдет, если что-то поменять, нужно не только объяснять, но и показать результат. Так незаметно получится, что игра продолжилась в новом ключе: изменение кода – запуск – проверка полученного.

Далее вы можете написать с нуля что-то вместе, разобрав общие концепции программирования. Нет особого смысла начинать с объяснения типов переменных и других не очень притягательных вещей (с этим легко познакомиться по ходу). Лучше рассмотреть небольшой скрипт, в котором совместятся несколько (но не слишком много) идей.

Например, производится обратный отсчет для запуска ракеты, и в конце надо написать слово «Поехали». Одновременно вводятся следующие идеи:

  • переменная, принимающая значения
  • цикл for (или while)
  • объект range (например, range(10, 1, -1))
  • условие if else
  • вывод строки на экран с помощью функции print

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

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

Другие идеи начала занятий для детей с различными наклонностями:

  • Шифровка секретных посланий. Код для шифровки посланий и программа, которая шифрует и расшифровывает сообщения.
  • Список покупок. Поиск по списку, сортировка элементов списка по алфавиту, по стоимости с учетом объявленных акций на товары.
  • Отрисовка красочной графики в Tkinter. Результат рисования полезно материализовать, распечатав на принтере.
  • Телефонная книга. В качестве полей можно использовать не только телефоны, но и другие характеристики: друг/родственник, пол, возраст, цвет волос и т.д. Задача: найти человека с определенным набором качеств.

Познакомьте ученика с импортом нескольких библиотек на примере модулей random, time и math. Библиотека random позволяет вносить в собственные проекты (например, игры) что-то непредсказуемое. Модуль math школьник сможет использовать для автоматизации решения учебных заданий. Библиотека time поможет применять различные элементы задержки. Такие модули также подогревают интерес к тому, чтобы создать что-то на основе нескольких имеющихся возможностей.

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

Можно пойти иначе и модифицировать одну из любимых игр. Например, в Sims 4 Python задействован для внутриигрового моддинга. Существуют проекты с открытым исходным кодом, полностью написанные на Python (например, игра Frets on Fire). Такие свободные проекты – естественные площадки для изучения и практики программирования, работы с чужим кодом.

Если ребенок заинтересован в более практичных проектах, предложите реализовать что-то из школьных заданий. Например, для решения задач из алгебры и символьных вычислений полезен SymPy, для численного моделирования – NumPy и SciPy, для отображения данных – Matplotlib или Plotly.

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

Русскоязычных детских самоучителей для Python третьей версии наберется уже не менее десятка. Ниже мы собрали подборку из трех наиболее интересных книг для детей разного возраста и темперамента.

«Программирование для детей на языке Python» – Луи Стоуэлл

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

Программирование для детей на языке Python

«Python для детей. Самоучитель по программированию» – Джейсон Бриггс

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

Python для детей. Самоучитель по программированию

«Python для детей и родителей. Играй и программируй» – Брайсон Пэйн

Книга подойдет для ребят примерного того же возраста, что и предыдущая. Правда, в сравнении с произведением Бриггса, эта написана куда более живо. Поэтому, несмотря на название, контроль родителей/учителей должен потребоваться реже.

Python для детей и родителей. Играй и программируй

Абстрактная сторона программирования через некоторое время может приесться. Оживить внимание можно, сделав проект, в котором Python заставляет взаимодействовать компьютер с внешним миром. Один из самых простых способов, как это сделать, – использовать плату Raspberry Pi, управляя с помощью Python GPIO-выходами, например:

  1. Включение/выключение светодиодов или другой электронной нагрузки.
  2. Изменение яркости свечения светодиода (вариация скважности).
  3. Считывание нажатий кнопок/клавиш.

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

Еще привлекательнее сделать проект, который реализует какую-либо законченную идею. Объединяя возможности Python и Raspberry Pi, можно создать робота, передатчик морзянки, метеостанцию или даже систему автоматического распознавания объектов с веб-камер!

Совет, с которого мы начали, актуален и в конце списка. Если в какой-то момент ребенок почувствует, что программирование — это не его, не нужно переубеждать. Хорошо, если он поймет это вовремя и продолжит поиск своего пути.

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

Успехов в воспитании и педагогической работе!

А как учились программировать вы?

Где учить Python: обзор онлайн-курсов от «Системного Блока»

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

1.Python for everybody
Проходил: Мариана Зорькина

Комментарий: Python for everybody — курс для тех, кого в принципе всегда пугала идея программирования: здесь не будет математики и каких-либо сложных задач, поэтому тем, у кого есть какой-то опыт и навыки, курс может показаться слишком медленным. Но если вы — полный новичок, или уже в бессилии бросили несколько других курсов, которые с первых занятий погружали слушателей в линейную алгебру и статистику, то этот курс для вас. Я нежно его люблю и всегда советую его пройти всем начинающим программировать гуманитариям: преподаватель достаточно мудр, чтобы не объяснять основы основ на примере многомерных пространств, но при этом даёт навыки, которые могут оказаться полезны сами по себе. Параллельно с основами Python преподаватель на пальцах покажет, как работать с текстами и веб-сайтами, чтобы получать простейшую статистику; что такое регулярные выражения и базы данных.

2. Алгоритмы на Python 3.
Проходил: Владимир Селеверстов

Комментарий: Этот курс подходит тем, кто интересовался программированием на школьном уровне, но за последнее время мог что-нибудь забыть. Лектор по большей части не учит синтаксису языка (хотя знакомит с некоторыми полезными приемами), концентрируется на принципиальном подходе, который решил бы текущую задачу. С одной стороны, курс порадует тех, кто не знает синтаксис и пока не начал его изучать, с другой — расстроит тех, кто хотел «с места в карьер» решать большие задачи. Много внимания уделяется подробному документированию вводимых функций. Курс больше теоретический, описывает структурные особенности планирования программы и работы с данными, но присутствует и работа с конкретными задачами.

3. Python tutor
Проходил: Елизавета Кузьменко

Комментарий: Pythonanywhere рассчитан на людей, которые только начинают программировать. Авторы курса начинают с самых азов — понятия переменных, ввода данных с клавиатуры. Дальше ученики начинают понемногу осваивать основные инструкции языка (циклы и условия), а также знакомятся с структурами данных. Этот курс идеально подходит для того, чтобы понять, что вообще такое программирование, и дальше приступать к более сложным и профессионально ориентированным курсам (про обработку HTML, текстовых данных и т.д.).

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

Минусы: К минусам курса я бы отнесла тот факт, что программирование осуществляется во встроенном в браузер редакторе, поэтому в дальнейшем студентам придется самостоятельно осваивать профессиональные редакторы и установку программного обеспечения и пакетов, необходимых для работы.

4. Нетология. Python и математика для анализа данных (в составе курса Data Science)
Проходил: Ксения Михайлова

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

Плюсы: часть по Python подходит новичкам и дает хорошее понимание основ языка.

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

В целом курс позволяет научится основам анализа данных с помощью Python.

5. Skillfactory
Проходил: Системный Блокъ

Комментарий: Курс состоит из 16 модулей на разные темы: вводные модули А об основах синтаксиса языка и В, самые объемные — про инструменты работы с данными. Даже имея небольшой опыт с работой на Python, я смог найти в соответствующих разделах что-то новое и улучшить навыки. Самыми полезными оказались разделы по очистке и визуализации данных, работе с HTML и API. В целом кажется, что человеку, который придет учиться с нуля, курс сможет дать достаточно мощную базу, на которую потом легче «положить» все дополнительные умения (например, освоить необходимые библиотеки). В вводных занятиях предусмотрен обзор популярной рабочей среды Jupyter, в ней же и выполняются домашние задания. Проверяются они автоматически: код нужно выложить в специальное поле. Иногда для закрепления материала есть тесты по теории.

Плюсы: сообщество однокурсников и поддержка онлайн: на любом этапе курса можно прислать в чат неработающий код и получить помощь и комментарий.

Минусы: На фоне других курсов подборки (в основном, бесплатных) минусом можно назвать цену, но это закономерная плата за поддержку преподавателей.

Бонус: бесплатные мобильные приложения

  • Solo Learn Python — Приложение не сможет заменить полноценный курс, но будет полезно для закрепления навыков в игровой форме
  • Stepik — Системный Блокъ рекомендует эту платформу с курсами именно в виде мобильного приложения: видеолекции удобно сохранять в кэш и смотреть в дороге вместо видео с котиками 🙂
  • Python Рецепты — 250 примеров кода на Python для различных задач. StackOverflow для ленивых 🙂

Решить «просто научиться программировать» и достигнуть этой цели очень сложно. Гораздо эффективнее придумать себе интересную задачу и посмотреть, какими инструментами Python вы можете ее решить и что для этого нужно уметь. Иногда это даже проще, чем кажется! А вдохновение для задач ищите на нашем сайте: например, вы можете научиться искать опечатки, собирать корпус из твитов или скачивать данные с сайтов.

С чего начать изучение Python: 3 первых шага

В прошлой статье мы рассказали, почему стоит изучать Python и какие он даёт перспективы на рынке труда. Сегодня поможем сделать первые шаги в освоении Python.

Разработчики называют код на Python понятным и лаконичным. В этом нет ни грамма лести: всё в рамках философии программирования “The Zen of Python”. Тем не менее, немного поработать всё же придётся. Переменные, циклы, условия, функции, операторы — всё это можно назвать основой языка, без которой не обойтись.

Знакомиться с синтаксисом можно по-разному. Вот несколько способов, которые можем посоветовать:

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

— Штудируйте официальную документацию. Способ для тех, кто ладит с английским и готов довериться теории с официального сайта Python. Заходите в раздел «С чего начать» и двигайтесь от пункта к пункту.

— Смотрите обучающие видео на YouTube и образовательных платформах.

Открытое занятие Нетологии «Создаём скрипт на Python с нуля»

Прежде чем запускать код, нужно его куда-то записать. Мы рекомендуем использовать для этих целей специальные программы — IDE (Integrated Development Environment). Они умеют искать ошибки, помогают ориентироваться в коде и дают полезные подсказки при вводе.

Так выглядит популярная IDE для Python — PyCharm. В левой части — дерево файлов и папок проекта, справа — написанный код

Но для первых попыток вам хватит repl.it — IDE, которая работает в облаке и умеет всё то же самое, что и PyCharm. Зайдите на http://repl.it.

Нажмите New repl и выберите Python из списка языков программирования. В результате получится такое:

Так выглядит рабочее окно repl. it. Здесь вы можете написать код и сразу выполнить его. Самые внимательные увидят уже работающую программу 🙂

Дальше всё просто: пишете код, нажимаете на кнопку Run — программа запускается. Если захотите показать кому-нибудь свою программу, жмите кнопку Share и копируйте ссылку из строки Share Link. В разделе с примерами вы ещё увидите такие ссылки и сможете их протестировать.

Если предыдущие шаги вас не испугали, начинайте писать код — чем больше, тем лучше. Ниже найдёте несколько примеров, которые придумали мы. Разберите их по частям и попробуйте понять, как всё работает.

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

К примеру, на курсе «Python-разработчик» в Нетологии студенты за 6 месяцев создают 4 личных проекта: онлайн-библиотеку, кулинарную книгу, кредитный калькулятор и сервис знакомств. C таким портфолио устраиваться на работу намного легче.

Начните с простой математики: создавайте переменные, возводите их в степень, потом складывайте результат и выводите на экран — делайте всё, что приходит в голову. Перед тем, как запустить программу, попробуйте предсказать результат. Если совпадает, вы неплохо справляетесь.

Сначала мы создали две переменные. Из них сделали третью, а из третьей — четвёртую, которую и вывели на экран в формате строки. Попробуете посчитать ответ? 🙂

Запустить программу или показать другу: https://repl.it/repls/FineShockedReality

Ещё можно написать программу, которая немного с вами пообщается.

Мы сами задаём фразы для ответов и выставляем паузу в секундах между репликами

Запустить программу или показать другу: https://repl.it/repls/AgitatedModernSoftwaresuite.

Чтобы запустить программу и общаться с роботом, нажмите Run

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

Зачем изучать Python? | Python

Python является широко используемым, высокоуровневым языком программирования, который был назван в честь знаменитого британского комедийного телешоу «Летающий цирк Монти Пайтона». Язык Python простой по своей структуре, и в то же время невероятно гибкий и мощный. Учитывая, что код Python легко читаемый и без излишней строгости в синтаксисе, многие считают, что он является лучшим вводным языком программирования.

Python — описание языка, которое дали в Foundation описывает Python:

Python – это интерпретируемый, интерактивный, объектно-ориентированный язык программирования. Он включает в себя модули, исключения, динамическую типизацию, высокоуровневые динамические типы данных и классы. Python сочетает в себе отличную производительность с понятным синтаксисом. В нем реализованы интерфейсы ко многим системным вызовам и библиотекам, а также различным оконным системам и он расширяем с помощью C и C++. Python используется как язык расширения для приложений, которым нужен программный интерфейс. И наконец, Python — это кроссплатформенный язык: он работает на многих версиях Unix, на Mac и на компьютерах под управлением MS-DOS, Windows, Windows NT и OS/2.

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

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

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

Язык Python для начинающих универсален. Вы можете автоматизировать рабочие процессы, создавать сайты, а также настольные приложения и игры с помощью Python. К слову, спрос на разработчиков Python (PostgreSQL, OOP, Flask, Django) резко вырос за последние несколько лет в таких компаниях, как Instagram, Reddit, Tumblr, YouTube и Pinterest.

Python относится к высокоуровневым языкам программирования. Используя его, вы сможете создавать практически любые типы программного обеспечения. Эта универсальность поддерживает ваш интерес, так как вы разрабатываете программы и решения, ориентированные на ваши интересы, а не застреваете в дебрях языка, беспокоясь о его синтаксисе.

Язык программирования Python для начинающих является интерпретируемым, а это значит, что вам не нужно знать, как компилировать код. Поскольку этап компиляции отсутствует, возрастает производительность, а время для редактирования, тестирования и отладки в значительной мере уменьшается. Просто скачайте интегрированную среду разработки (IDE), напишите свой код и нажмите «Выполнить» (Run).

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

Нельзя назвать язык программирования в честь Монти Пайтона, не имея чувства юмора. Более того, было проведено тестирование для сравнения времени, необходимого для написания простого скрипта на различных языках (Python, Java, C, J, BASIC):

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

Данная публикация является переводом статьи «Why Learn Python?» , подготовленная редакцией проекта.

Как выучить Python простым способом (а не так, как я)

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

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

Как мне не удалось выучить Python… в первый раз

Я впервые попытался изучить Python почти десять лет назад. Я не совсем понимал, что хочу с этим делать — возможно, автоматизировать часть моей работы, может быть, написать небольшое приложение. Это просто казалось умением, которое было бы хорошо знать.

Итак, я взял копию бесплатного на тот момент PDF-файла Learn Python the Hard Way и начал работать над ним.

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

Я хотел научиться писать код Python, и моим первым шагом было потратить пять часов на борьбу с командной строкой? Я был демотивирован еще до того, как начал.

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

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

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

Как мне не удалось выучить Python… второй раз

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

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

Как и большинство МООК, этот курс был основан на видео. Я смотрел лекцию по теме, связанной с Python, отвечал на викторину на сайте курса, чтобы подтвердить, что усвоил материал, и переходил к следующему модулю.

Опытные программисты, вероятно, уже догадываются, что произошло дальше: когда я попытался написать код Python для себя, я ничего не смог сделать.

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

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

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

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

Почему я проиграл

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

  1. Отсутствие четкой цели . Почему я изучал Python? Я действительно не знал. Это позволяет очень легко бросить курить, когда дела идут тяжело — а так будет всегда, рано или поздно.
  2. Слишком сложно сразу . Рано или поздно мне пришлось бы выяснить, как установить Python в мою систему, но настроив это с соответствующим опытом ноль , прежде чем я напишу аж print ('Hello world!') был рецепт разочарования и неудач.

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

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

Во второй раз я избежал этих ошибок, но вместо этого сделал несколько новых:

  1. Я не учился на практике. Просмотр видео и прохождение тестов заставили меня почувствовать , как будто я умею писать код, но на самом деле я не занимался программированием.Когда я, , попытался написать код (и потерпел неудачу), это было еще более неприятно, потому что я думал, что уже понял это. И потому, что мне приходилось много раз щелкать по каждому видео, чтобы пересмотреть разные разделы и заново изучить вещи.
  2. У меня была четкая цель, но не было четкого пути к ней. Я знал, что хочу заниматься журналистикой данных и веб-парсингом, но я проходил общий начальный курс Python. Это означало, что я усвоил уроки, которые могли иметь решающее значение для разработки программного обеспечения, но не имели такого отношения к журналистике данных.Мне часто было трудно связать основы, которые я изучал в классе, с тем, что я действительно хотел делать с кодом.

На протяжении всего этого я совершал еще одну большую мысленную ошибку. Я думал об изучении Python в очень черно-белых тонах. Либо я «изучил Python» — весь Python, — либо нет.

Это действительно пугало перспективу обучения. Всякий раз, когда я сталкивался с проблемой, это усугублялось тем, что я думал о какой-то мифической «финишной черте» Python, которая все еще находилась очень, очень далеко.

Это, конечно, заблуждение. Как и разговорный язык, Python (и другие языки программирования) — это не то, что вы на самом деле завершите изучением . И, как и в случае с разговорным языком, вам не обязательно свободно владеть Python, чтобы добиться желаемого.

Как вам скажет любой первокурсник по обмену, достаточно просто спросить: «Сколько это стоит?» и «Где ванная?» на местном языке может действительно повлиять на качество вашей жизни.

То же верно и для Python.Вам не нужно знать все, — или даже все, что необходимо, — чтобы реально изменить свою жизнь.

Но это урок, который я усвоил случайно.

Как я на самом деле изучил (немного) Python

К 2018 году я отказался от изучения Python. Я пробовал дважды и дважды потерпел неудачу! Но затем меня наняли в Dataquest, компанию, которая обучает навыкам работы с данными, включая программирование на Python, в Интернете.

Моя новая работа не требовала каких-либо навыков программирования, но я решил, что мне все еще нужно опробовать платформу обучения.Мне нужно было понять наш продукт и то, что чувствовали наши ученики. Возможно, подумал я, я смогу даже научиться достаточно, чтобы выполнять парсинг веб-страниц, как я планировал раньше.

Итак, с некоторым трепетом я создал учетную запись и начал наш курс по Python для науки о данных.

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

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

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

Это произошло потому, что я скорее случайно, чем намеренно, наткнулся на способ изучения Python, позволяющий избежать почти всех ошибок, которые я допустил в своих предыдущих усилиях:

  • Я пришел с четкой целью — учиться достаточно Python, чтобы иметь возможность немного работать с данными, чтобы я мог лучше понимать наших клиентов.
  • Я полностью избежал предварительной проблемы установки Python, потому что Dataquest позволяет изучать и писать код прямо в окне браузера.
  • Я учился кодировать, фактически кодируя, а не наблюдая за чужим кодом.
  • Я учился по пути, который был разработан специально для работы с данными Python, поэтому все, что я изучал, и каждое упражнение, которое я выполнял, были важны.
  • Я просто пытался узнать, что нужно I , а не пытался выучить весь Python.

Как упростить изучение Python

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

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

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

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

В-третьих, избегайте предварительной проблемы с установкой Python и его различных библиотек в вашей локальной системе.

Сейчас существует множество онлайн-платформ, которые позволяют писать и запускать код в веб-браузере, или вы можете писать и запускать код в записной книжке на Google Colab или аналогичной платформе.Просто постарайтесь максимально упростить для себя начало работы. Позже вы можете побеспокоиться о своей локальной настройке.

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

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

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

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

Лучший способ изучить Python [Массовое пошаговое руководство до 2021 года]

Python — очень популярный язык.

Это также один из языков, с которого я рекомендую начинать.

Но как лучше всего изучать Python?

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

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

Я сфокусирован на этой статье, чтобы вы были компетентным и разносторонним программистом, чтобы вы могли легко найти работу в любой технологической компании по вашему выбору.

Как лучше всего выучить Python?

Лучший способ изучить Python — проходить эти уровни по одному за раз. Убедитесь, что вы полностью понимаете и имеете обширный практический опыт на каждом уровне, прежде чем переходить к следующему. Это означает, что вам действительно нужно открыть свой ноутбук и написать код. Много кода.Сделайте это, и вы будете на пути к мастерству Python!

Приступим.

Уровень 0: Начало

Это уровень, с которого вы начинаете, если вы абсолютный новичок .

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

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

📚 Курсы Python

👶 Для уровня 0: проверьте этот курс на Udemy.

🚀 Для уровня 1: ознакомьтесь с моим курсом объектно-ориентированного программирования на Udemy.

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

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

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

Шпаргалка по Python 3 для начинающих

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

Итак, о каких общих концепциях программирования я говорю?

Некоторые из этих фундаментальных понятий — это переменные, типы данных, операции, функции, условные выражения и циклы.

Если вы понимаете, что это за концепции, переходите к уровню 1.

В противном случае, позвольте мне дать вам очень краткое введение о том, что означают эти концепции.

Переменные

Переменные — это, по сути, хранилищ для данных в вашей программе.

Точнее, дает имя данным для последующего использования.

Давайте посмотрим на пример.

  # переменные
msg = "Hello World!"
печать (сообщение)
# Этот код выводит Hello World! на экране  

В приведенном выше фрагменте кода Python мы определяем переменную msg, в которой хранится значение Hello World!

Это позволяет нам позже напечатать Hello World! на экране, просто используя имя переменной, в которой хранится это значение, вместо того, чтобы вводить значение Hello World! каждый раз, когда мы хотим его использовать.

Типы данных

Мы говорили о переменных как о хранилище данных, теперь поговорим о данных.

В Python данные имеют типы.

Например, в приведенном выше фрагменте кода данные Hello World! имеет особый тип, который Python (и другие языки программирования) называют строкой .

A Строка — это просто последовательность символов.

Но строки — не единственный тип данных в Python, есть также целые числа , числа с плавающей запятой , логическое значение , списки , кортежи и словари .

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

Операции

Операции — это то, как вы управляете и изменяете данные в своей программе.

Другими словами, ваши программы должны работать с данными и производить больше данных, с которыми вы также работаете, пока вы не достигнете окончательного результата.

Это просто жизненный цикл любой программы.

В Python и всех языках программирования существует не менее операций арифметики , сравнения и логики .

  # пример арифметической операции
х = 5 + 2

# пример операции сравнения
у = 3> 4

# пример логической операции
z = Верно или неверно  

Условные

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

Условные операторы с использованием if, if else или if elsif else дают вам эту возможность.

Вот пример оператора if-else в Python.

  >>> если 3> 5:
... print ('3 больше 5')
... еще:
... print ('3 не больше 5')
...
3 не больше 5  

Функции

Функция — это, по сути, блок кода Python, который выполняется только тогда, когда он имеет номер и называется .

Вы можете передавать параметры в функцию в качестве входных данных, а функция может возвращать данные в качестве выходных данных.

В Python вы определяете функцию с помощью ключевого слова def .

Вот пример программы hello world, использующей функцию say_hello

  def say_hello (msg):
  # это функция
  # msg - входной параметр
  print (f'hello {msg} ')

# вызов функции say_hello
say_hello ('мир')

# выход:
# привет мир  

Итак, это был пример фундаментальных концепций, которые вам следует изучить на этом уровне.

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

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

Вам нужно попрактиковаться в решении проблем, так что запачкайте руки и начните решать простые проблемы с помощью Python. Вы можете начать с решения задач Project Euler.

Я не могу переоценить важность овладения уровнем 0 .

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

Так что, даже если это уровень 0, не воспринимайте это всерьез.

Уровень 1: объектно-ориентированное программирование

Если вы находитесь на этом уровне, то у меня есть курс, который научит вас всему, что вам нужно знать об объектно-ориентированном программировании. Посмотрите здесь 🙂

Все в Python — это объект.

Вы это либо уже слышали, либо вам суждено услышать об этом 🙂

Но постойте, что же такое объект?

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

Одна из самых популярных парадигм программирования называется объектно-ориентированным программированием (ООП).

Сегодня мы говорим с Мэттаном Гриффелем (@mattangriffel) о том, как изучать Python. Маттан преподает код для студентов MBA в Колумбийской бизнес-школе.Он также ведет курс Learn Python здесь, в One Month.

Зачем изучать Python?

  1. Python - один из самых популярных языков для анализа данных и веб-разработки
  2. «Python - это новый Excel» используется на уроках финансов в бизнес-школах.
  3. Google, Instagram, Uber и многие другие компании используют Python.
  4. Многие рабочие места в наши дни требуют навыков Python: от журналистов данных до маркетологов и врачей.

В этом выпуске вы узнаете

  • Как Мэттан научился кодировать
  • Примеры проектов Python, которые могут построить новички
  • Лучший язык программирования для первого изучения
  • Лучший способ изучить Python
  • Бесплатные ресурсы Python для начинающих

Если вы хотите учиться с Мэттаном? Вы можете узнать больше об онлайн-курсе Маттана по питону.

🐶 Подпишитесь и оцените подкаст Learn to Code в iTunes! ❤️

Вот мое интервью с Мэттаном Гриффелем:

Маттан, как ты научился программировать?

Маттан : Я начал с изучения Ruby on Rails, который по сути является Ruby. Ruby похож на альтернативу Python, и мне он понравился. Я начал с этого, потому что хотел создать веб-сайт, по сути, как продукт. И один из моих друзей знал, как писать код, и указал мне в этом направлении.И я подумал: «Хорошо, я сделаю, что ты скажешь. «Я научусь этому».

Крис : Вы вообще не умели программировать? Так твой друг помог тебе? Должно быть, он казался волшебником.

Маттан: Да, именно так. Он не был похож на того, кто изучал информатику в школе, он был программистом. Он был кем-то вроде меня, которому просто скучно одним летом, он взял книгу и сам научился программировать.

Что вы изучали в колледже?

Mattan: Я изучал финансы и философию.Я учился в двух разных, совершенно не связанных между собой вещах. Не кодирование.

Крис: Хорошо, но вы добрались до преподавания кодирования в бизнес-школе.

Маттан: Верно. Для меня это немного удивительно.

Крис: Знают ли студенты бизнес-школы о том, что [вы не изучали программирование]?

Маттан: Да, они это прекрасно знают. «Потому что я говорю об этом, и, честно говоря, я думаю, что это часть того, что делает меня хорошим учителем для людей.Иногда, когда эксперт занимается чем-то в течение 10 или 20 лет, он усваивает все эти концепции, то есть они так привыкают к этому, когда учатся на этом пути. Они забывают, что это то, чего не знает большинство людей. Поэтому, когда они пытаются это объяснить, они крадутся за все эти запутанные концепции.

Например, если вы когда-нибудь слышали, чтобы кто-то технический (кто-то, умеющий программировать) говорил о кодировании и пытался объяснить вам это, и вы запутались в первые 10-15 секунд? Это потому, что они изо всех сил пытались объяснить то, что, по их мнению, является довольно сложным, но на самом деле у них не было времени подумать о том, что вы знаете и чего не знаете.

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

Маттан: Да, и я думаю, что все наоборот. Я думаю, что если кто-то не может объяснить что-то сложное так, чтобы это было понятно любому, то он на самом деле не эксперт в этом.

Крис: Мне это нравится!

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

Что побудило вас научиться программировать?

Mattan: На самом деле, я не начинал думать, что собираюсь научиться программировать. Я начал думать, что хочу построить - у меня есть эта идея, и я хочу ее построить. Поэтому я пошел к своему другу, который, как я знаю, уже создал компанию самостоятельно, и сказал: «Помогите мне построить это».

Он сказал: «Подожди. Если вы пытаетесь построить это, если вы пытаетесь найти кого-то, кто может построить это для вас, или волшебное решение вашей проблемы, его не существует.Но, к счастью для вас, вы можете научиться программировать и создавать его самостоятельно ».

Я подумал: «О чем ты говоришь? У меня нет диплома по информатике. Я не собираюсь тратить все это время, чтобы научиться этому ".

Но он такой: «Нет, поверь мне. Это проще, чем ты думаешь. А потом он рассказал мне свою историю. По сути, однажды летом он просто работал в гараже, и ему было скучно ждать и вывозить машины. Потом у него, как и у меня, возникла идея, и друг порекомендовал ему книгу.Итак, он прочитал книгу и построил эту штуку. И вообще, за три месяца он такой: «Вот дерьмо, я научился программировать».

Крис: Он научился кодировать по книге?

Маттан: Да, именно так. К счастью, он не порекомендовал мне книгу, потому что у меня аллергия на книги, по крайней мере, в то время. Я вроде как пришел в себя, особенно в книгах по программированию, потому что это стало мне внутренне интереснее. Но когда я только начинал, единственная причина, по которой я действительно мог это понять и следовать, - это то, что я смотрел видео, видео людей, проходящих через это, и помогал мне через это.

Использовали ли вы YouTube или онлайн-курсы программирования, чтобы научиться программировать?

Маттан: Я начал с Линды. По сути, это был недельный урок. Это был набор из 15 видеороликов, и это было довольно хорошо, после просмотра я подумал, я сделал то, что они сказали, но я до сих пор не знаю, как уйти и что-то сделать.

Крис: Было ли полезно научиться программировать с Линдой?

Mattan: Обучение с Линдой определенно лучше, чем ничего.Я прошел через это, и это было моей первоначальной целью - просто не сдаваться.

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

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

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

Кодирование

в некотором роде похоже, где я мог бы сказать вам, что все концепции это переменная, вот как вы это делаете. Если вы просто посмотрите, как я кодирую, и я вам это объясню, вы скажете: «О, я понял».

Но пока вы на самом деле не проделаете это несколько раз, пока вы не создадите переменную сто раз или пока вам не придется проделать сто циклов, вы на самом деле этого не поймете.

Какие еще ресурсы вы использовали для обучения программированию?

Mattan : Я также просмотрел эту онлайн-книгу под названием Rails Tutorial. А потом я подумал: «Думаю, я начинаю понимать, но собираюсь провести еще один вводный урок». Затем я прочитал Стэнфордское введение в программирование онлайн в классе iTunes U. И к тому моменту я подумал: «Хорошо, думаю, я понял».

Крис: Это увлекательно. Похоже, вы только что упомянули три ресурса, которые использовали.Вы просто как бы делали одно за другим? Было ли это на ту же тему или было иначе? Было ли все это просто Ruby on Rails или все было иначе?

Mattan: Это все было Ruby on Rails, потому что мой друг Джон сказал так: «Вот чему тебе следует научиться». И поэтому я не хотел идти в разных направлениях, потому что мне казалось, что если я пытаюсь выучить три разных языка, то я на самом деле не учу ни один из них.

Крис: В этом есть смысл.

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

Сколько времени у вас ушло на то, чтобы научиться программировать?

Mattan: Ага, это забавный вопрос, потому что я думаю, что значит знать, как кодировать, на самом деле очень широко. Итак, вы получаете степень по информатике, вы учитесь четыре года. Вы умеете программировать? Да, наверное, я думаю, что большинство людей скажут, что специалист по информатике умеет программировать. Но если вы попросите их создать мне веб-сайт, они могут не знать, как это сделать, верно?

«Потому что, возможно, они так и не узнали, как создать веб-сайт в Интернете, как купить доменное имя, как сделать все это.Могли ли они это понять? Наверное. Собираются ли они разобраться в этом самостоятельно или, может быть, они могут спросить друга, который делал это раньше? Это разные виды решений проблем, например технических. Тот факт, что они могли это понять в разумные сроки, я думаю, это то, что мы думаем как знание того, как кодировать, верно? Знать, как решить техническую проблему с помощью кода или использовать технические решения в разумные сроки, верно?

А теперь возьмем моих учеников, которые посещают курс «Одномесячный Python» или окончившие бизнес-школу Колумбийского университета. Большинство из них, окончившие курс, скажут, что я не программист.Я не умею программировать. У меня только что был опыт чтения и написания кода. Мне нужно решить некоторые проблемы. Но мне не очень комфортно называть себя кодером. И я не собираюсь поступать на работу программистом. И что бы там ни было, это может быть разумно. Может, ты не хочешь этого делать.

Но тогда я бы спросил их: «Допустим, я дал вам вызов», проблему, которую вы не знали, как решить, верно? И у вас было неограниченное количество времени, как вы думаете, со временем вы поймете, как это сделать? » И их ответ, вероятно, был бы таким: «Да, я, наверное, спрошу кого-нибудь, или я погуглил бы, просмотрел все ресурсы и выяснил это.”

Я говорю: «Что ж, если ты сможешь это сделать, тогда ничто на самом деле не отделяет тебя от кодера, верно? Кодер может это сделать, вы можете это сделать. Вопрос лишь в том, сколько времени у вас уйдет на это, верно? Так что, возможно, если бы я сказал, хорошо, ваша цель - создать веб-сайт, и у вас есть год, чтобы он заработал. Вы могли бы понять это, если бы это было все время в мире. А может, программист за неделю справится? Или, если у тебя все хорошо, день.

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

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

Сколько времени вам потребовалось, чтобы наконец сказать: «Я могу это сделать! Я программист »?

Mattan: Я бы сказал, около шести месяцев. Я думаю, что эта точка зрения изменится для людей в зависимости от того, что они делают и как используют это в своей работе. Для меня это было определенно, когда я научился программировать. Что ж, я составил руководства, начал преподавать уроки кодирования и даже не обязательно называл себя хорошим программистом на тот момент или говорил, что умею кодировать.

Крис: Это когда мы оба преподавали на Генеральной Ассамблее?

Маттан: Да, Генеральная Ассамблея и класс Skillshare. А потом я создал сайт, верно? Это был onemonthrails.com. И именно там мы начали делать эти PDF-файлы и сертификаты выполненных работ для людей. Затем я создал страницу входа, чтобы они могли войти в систему и получить доступ к урокам, и добавил Stripe для обработки кредитных карт, чтобы люди могли вставить свои кредитные карты, зарегистрироваться и пройти курс.И тогда я, наконец, подумал: «Вот дерьмо, теперь это серьезно» - не совсем «Я программист», но я подумал: «Если что-то пойдет не так, это моя вина»

Крис: Это потому, что больше никого не было?

Маттан: Ага. Это было похоже на меня. Я могу потерять вещи, я могу все испортить. Они платят мне деньги, как будто они должны работать. Это было то давление, что я хотел владеть собственным проектом, что в конечном итоге привело меня к мысли: о да, я могу это сделать. Но это было все равно что обрести уверенность в себе, чтобы оказаться в такой пугающей ситуации, честно говоря, я не чувствовал себя подходящим для этого, а затем доказывал, что могу это сделать.Именно тогда я сказал: «Хорошо, думаю, теперь я могу называть себя кодером».

Если кто-то хочет изучить Python или научиться программировать в целом, что бы вы посоветовали для «небольшой победы», например, какой тип проекта им следует создать в первую очередь?

Mattan: Да, я думаю, что самое сложное - это когда вы только начинаете и не знаете, насколько сложен проект, который вы имеете в виду. У вас может быть идея для действительно крутого приложения, которое вы хотите создать, или веб-сайта, который вы хотите создать, но вы не знаете, действительно ли это сложная или легкая задача и сколько времени на это у меня уйдет.«Потому что раньше я советую: выберите проект и работайте над ним.

Ко мне приходили люди с проектами, и я говорил: «Звучит очень сложно. На это у команды из пяти человек могут уйти годы ». Я думаю, это здорово, что люди воодушевлены, обладают творческим потенциалом и хотят что-то сделать, но мой обычный совет такой: продумайте проблему, придумайте план действий, уменьшите идею в области бережливых стартапов и минимум жизнеспособных продуктов, определите MVP (минимально жизнеспособный продукт) того, что вы хотите создать, и возьмите этот крошечный кусочек.По крайней мере, потому, что это то, что вы, надеюсь, сможете избавиться от этого за короткое время.

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

Вот мой пример. Когда я только учился, я прочитал учебник по Ruby on Rails, в котором вы, по сути, собираете Twitter с помощью Ruby on Rails, верно? Итак, вы копируете то, о чем уже знаете. Я не пошел, а потом сказал: «Хорошо, теперь я попытаюсь создать приложение Uber», потому что это совсем другое дело. Я начал с того, что сказал: «Хорошо, хорошо, Твиттер»: если я уберу твиты и заменю их видео, это будет похоже на то, что я мог бы разместить там классы.Так что я вроде как раздвигал границы того, что знал ». Вы представляете Twitter и то, как работает интерфейс, и у вас есть текстовые твиты. Но вместо текста это было другое изображение или видео.

Итак, пока я шел, я придумывал эти идеи, но думал, хорошо, я думаю, что знаю, как делать 90% того, что я хочу делать, основываясь на том, что я узнал. И есть 10%, которые мне еще предстоит выяснить. Так что это все равно что откусить что-то, что можно жевать, а не пытаться сделать что-то, в чем вы даже не знаете, с чего начать.Если вы попробуете лишние 10%, вы не знаете, как это сделать, и это вас сильно расстроит, просто попробуйте что-нибудь другое. Не женитесь на идее.

«Потому что, честно говоря, это могло оказаться очень легко или очень сложно, вы даже не знаете. Вы можете поговорить с другом или получить совет. Это всегда хороший способ выяснить относительную сложность чего-либо. Поговорите с другими техническими специалистами, и, надеюсь, по мере обучения у вас будет возможность познакомиться с людьми, которые знают больше, чем вы.Затем подумайте, как бы вы построили свою сеть.

Обучение - отличный способ сделать это, потому что люди действительно хотят помочь. Каждый программист полагался на других людей, которых раньше не знал, и теперь они действительно благодарны этим людям. Итак, они хотят передать это, заплатите вперед. Все, что вам нужно сделать, это быть искренним и искренним, не раздражать их, но установить связь, они захотят вам помочь. Вы можете встретить этих людей на встречах. Или, даже если вы этого не сделаете, вы можете опубликовать его на Facebook или на форумах Reddit, Hacker News, Slack or play и на других сайтах, где есть люди.

Где вы встречаете разработчиков? Встречи?

Mattan: Да, есть встреча Python Hacker Hours, на которой происходит очень много всего. Даже если вы живете не в городе, где проходят встречи, есть и онлайн-сообщества, где люди готовы помочь.

Какой язык программирования лучше всего подходит для начинающих?

Mattan: С одной стороны, я отвечаю: не беспокойтесь об этом слишком сильно, потому что я начал с Ruby, а затем выучил Python, и мне было довольно легко выучить Python.Мне потребовалось буквально два месяца, чтобы понять это, потому что часть обучения программированию заключается в изучении строительных блоков работы компьютеров. Вы узнаете, что такое переменная и как создавать цикл. И хотя способы, которыми вы их выполняете на разных языках, немного различаются, реальная вещь, которую вы изучаете, - это просто строительные блоки.

Когда вы знаете это на одном языке, вы просто думаете: «Хорошо, вот как вы это делаете на другом языке». Вот почему не так страшно говорить: «Вот дерьмо, а что, если я выучу не ту?» Но с точки зрения спроса, я бы сказал, Python действительно хорош, потому что это предпочтительный язык для науки о данных, анализа данных и программирования.

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

Крис: Итак, Google построен на Python?

Mattan: Да, Ларри и Сергей написали это на Python. И если вы посмотрите на их официальную документацию начала 90-х, они покажут код Python, который они используют. Понятия не имею, где они наткнулись на Python. Это был молодой язык, и кто знает, как они это поняли? Но они использовали Python. Затем, когда Google стал популярным стартапом и начал расти, они наняли парня, который изобрел Python, для работы в Google.

У них была концепция 20% времени, и они говорили, что вы можете потратить 20% своего времени, просто работая над чем угодно, верно? Вы можете продолжать работать над Python, вы можете создавать инструменты для науки о данных, что хотите. Ну, они сказали ему и всем, кто присоединился к их компании.

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

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

Итак, вы хотите быть в Google, потому что он там, и вы хотите работать и анализировать данные, поэтому вы используете Python, потому что все основные функции машинного обучения построены на Python.

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

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

Я также лично предан Ruby on Rails. Если вы хотите создавать веб-сайты, я думаю, что это отличный вариант, особенно любой веб-сайт, на котором у вас есть участники, которые регистрируются как пользователи и делают что-то на веб-сайте. Я не думаю, что Python - лучший вариант для этого. Тем не менее, это просто вопрос, может быть, есть небольшие преимущества для некоторых языков для некоторых приложений.Однако в целом я считаю Python отличной отправной точкой, если честно.

Как лучше всего выучить Python?

Mattan: Я имею в виду, что ресурсов Python много. Я преподаю один месяц Python! Я, конечно, считаю, что это замечательно.

Тот, к которому я обычно отправляю людей, называется Learn Python the Hard Way . Но это не бесплатно. Это примерно 29 долларов, так что это относительно дешево.

Крис: Трудный путь изучения Python звучит сложно [из-за названия], но это просто означает, что нужно делать это шаг за шагом, и действительно погрузиться в это.К тому же Зед Шоу просто отличный учитель. [Еще одна замечательная книга] Automate the Boring Stuff with Python . Я полагаю, что [для этого] существует еще и веб-сайт. Книга интересна, потому что она не столько об основах Python, сколько о крутых вещах, которые вы можете делать с Python, например о том, как вы можете использовать его для автоматизации довольно утомительных вещей, над которыми вы, возможно, работаете на своей работе.

Существует также The Data Science Handbook , , написанный для Python.Это книга, но она также доступна в Интернете совершенно бесплатно. Так что обычно, если вы действительно хотите узнать о науке о данных, это хороший третий шаг. А еще есть все эти онлайн-ресурсы, есть ли в Codecademy бесплатные уроки Python?

Chris: Я так думаю, но иногда, когда я иду и отправляю туда людей, появляется всплывающее окно, и они хотят получить вашу электронную почту, и я думаю, что у них есть версия Pro. Это немного сбивает с толку. Я не знаю, это тебе помогает?

Mattan: Я считаю, что они хороши не как способ учиться, а как способ практиковаться во время обучения.Есть Drills, но это не очень похоже на курс. Есть HackerRank, сайт с действительно хорошими тренировками. И еще одно упражнение. Но с точки зрения обучения мне кажется, что Automate the Boring Stuff with Python и Learn Python the Hard Way - две хорошие отправные точки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

2023 © Все права защищены. Карта сайта