Mtour12.ru

Обучение в онлайне
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Начало программирования на питоне

Хочу научиться программировать на Python. С чего начать?

Хочу научиться программировать на Python. С чего начать?

  • Планы обучения , 27 июля 2018 в 23:16
  • Наташа Маркова

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

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

Python имеет ряд преимуществ:

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

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

Python для создания продуктов используют такие корпорации, как Google, Dropbox, Mozilla, Facebook, Yandex, Red Hat, Microsoft, Intel и другие.

Что учить?

Синтаксис

В первую очередь:

  • операции с целыми и вещественными числами;
  • типы данных;
  • переменные, ветвления, стандартный ввод/вывод;
  • логические операции, операции сравнения;
  • условия: if , else , elif ;
  • блоки, отступы;
  • строки и символы;
  • циклы while , for ;
  • операторы break , continue ;
  • установка и подключение модулей;
  • списки;
  • функции;
  • словари;
  • интерпретатор: установка, запуск скрипта;
  • файловый ввод/вывод.

Дополнительно

IDE и редакторы кода

Писать в IDLE или Python Shell удобно только простой код, но для проектов лучше найти интегрированную среду разработки (IDE) или редактор кода. IDE включает в себя редактор с подсветкой синтаксиса и автодополнением, инструменты сборки, выполнения и отладки и другие функции. В большинстве редакторов есть подсветка синтаксиса и форматирование, выполнение и отладка кода. Как правило, этот инструмент работает быстрее IDE, но имеет меньше функций. Среди самых популярных платформ — PyCharm, Wing IDE, Komodo и другие. Больше вариантов — в нашем обзоре.

С распределенной системой управления версиями (Git) нужно познакомиться в начале обучения. Среди основных навыков — создание и перемещение файлов в каталогах, инициализация Git-репозитория и создание коммитов, а также настройка репозиториев в GitHub.

Где учить?

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

Учебники

Простой и краткий русскоязычный учебник для изучения основ от Devpractice

Популярный учебник Марка Лутца с примерами, советами и задачами

Другие хорошие книги по Python — в нашей подборке.

Онлайн-курсы на русском языке

Онлайн-курсы на английском языке

О том, как еще учить Python — в нашей статье.

Все выучил, что дальше?

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

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

В следующей части мы расскажем, как учиться дальше.

Начало изучения Python

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

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

Зачем учить Python

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

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

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

Web-разработка

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

Web-разработка на Python — это, в основном, создание серверной части сайтов и приложений с помощью фреймворков Django и Flask.

Машинное обучение

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

Типичные пример проекта в сфере машинного обучения — программа, способная распознавать и анализировать объекты на фотографии.

Анализ данных

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

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

С чего начать изучение

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

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

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

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

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

  • Назначение функций.
  • Синтаксис функций.
  • Аргументы.
  • Возврат значений из функции.
  • Вложенные функции.
  • Рекурсию.

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

  • Узнать, что такое модули и пакеты.
  • Научиться использовать несколько модулей в одном проекте.
  • Разобраться с областями видимости модулей.
  • Понять синтаксис работы с файлами (открытие, закрытие, ввод и вывод информации).

Последней базовой стадией будет изучение объектно-ориентированного программирования, которое включается в себя такие понятия, как:

  • Класс и его экземпляры.
  • Объекты.
  • Конструктор.
  • Методы и поля класса.
  • Инкапсуляция, наследование и полиморфизм.

Где брать информацию

Сайты

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

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

Хороший пример сайта для обучения: “all-python.ru”. Здесь можно найти всю необходимую теорию с примерами, а также реализацию простых программ, таких как калькулятор и календарь.

Видео-уроки на YouTube

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

Курсы

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

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

Техническая литература

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

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

Практика — главная составляющая обучения

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

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

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

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

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

Пусть к совершенству: навыки, необходимые Python-разработчику

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

Алгоритмы

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

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

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

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

Умение искать информацию

Python имеет большое интернет-сообщество. Когда возникает какая-то проблема, на 99% можно быть уверенным, что её решение есть в интернете. Оно может быть не идеальным, возможно, его придётся немного изменить для проекта, однако оно есть.

Интернет делает информацию доступной, программист может найти здесь всё необходимое, однако, доступность информации порождает проблему её избыточности. Запрос в поисковой системе не приведёт сразу к нужному решению, большинство информации будет бесполезной. Поэтому каждый Python-разработчик должен уметь находить в огромном объёме информации нужную.

Понимание работы OC

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

Программист на Python должен понимать, что такое процессы, потоки, память.

Понимание ООП

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

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

Работа с командной строкой

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

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

Понимание работы интернета

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

Системы контроля версий (git)

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

Как начать программировать на Python

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

Что­бы уско­рить про­цесс, мы будем исполь­зо­вать зна­ния о про­грам­ми­ро­ва­нии из JavaScript-мира. Для это­го мы про­сто пока­жем, как уже зна­ко­мые вам вещи и кон­струк­ции выгля­дят на Python и чем они отли­ча­ют­ся. Если вы хоти­те сра­зу про­ве­рить свой код, исполь­зуй­те онлайн-интерпретатор: onlinegdb.com/online_python_compiler.

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

Комментарии

JavaScript. Исполь­зу­ют­ся два сле­ша в нача­ле стро­ки:

// ком­мен­та­рий на JavaScript

Python. Вме­сто двух косых черт — знак решёт­ки, тоже в нача­ле стро­ки:

# а это — ком­мен­та­рий на Python

Переменные

Глав­ное отли­чие в том, что нам не нуж­но клю­че­вое сло­во var, что­бы объ­явить новую пере­мен­ную. Нуж­на пере­мен­ная — про­сто напи­ши­те её в любом месте и при­свой­те её какое-то зна­че­ние. С основ­ны­ми типа­ми дан­ных всё то же самое — целые чис­ла, дроб­ные, сим­во­лы, стро­ки, логи­че­ский тип и так далее.

Присваивание и математические операции

Здесь прак­ти­че­ски всё то же самое, за исклю­че­ни­ем пары момен­тов — посмот­ри­те сами.

Условный оператор и логика

Когда буде­те смот­реть блок If на Python, обра­ти­те вни­ма­ние на отсту­пы. В этом язы­ке нет фигур­ных ско­бок, кото­рые гово­рят «весь этот кусок кода отно­сит­ся вот к это­му эле­мен­ту». Вме­сто них исполь­зу­ют отсту­пы — то, что сме­ще­но пра­вее отно­сит­ся к тому, что нахо­дит­ся выше и левее.

Вто­рое отли­чие — необя­за­тель­ные скоб­ки при срав­не­нии и исполь­зо­ва­ние понят­ных and и or вме­сто && и ||.

Циклы

В Python нет цик­ла с посту­сло­ви­ем, когда сна­ча­ла выпол­ня­ет­ся тело цик­ла, а затем про­ве­ря­ет­ся усло­вие. Но зато остав­ши­е­ся 2 цик­ла уме­ют намно­го боль­ше, чем про­сто выпол­нять что-то по кру­гу. Мы это подроб­но раз­бе­рём в отдель­ной ста­тье на при­ме­рах, а пока про­сто посмот­рим на син­так­сис и срав­ним с JavaScript.

Ещё одно отли­чие — в цик­ле for. В нём важ­но ука­зать после­до­ва­тель­ность, по кото­рой будет идти пере­мен­ная цик­ла. Поэто­му перед исполь­зо­ва­ни­ем цик­ла нуж­но эту после­до­ва­тель­ность под­го­то­вить — обыч­но для это­го исполь­зу­ют коман­ду range().

Функции

Здесь тоже всё про­сто и похо­же — зада­ём имя функ­ции; аргу­мен­ты, если они нуж­ны; а потом пишем, что функ­ция долж­на делать. Вызы­ва­ют­ся оди­на­ко­во.

Результат

Как види­те, если вы зна­е­те один язык про­грам­ми­ро­ва­ния, осво­ить вто­рой уже намно­го лег­че. Дело в том, что боль­шин­ство язы­ков похо­жи друг на дру­га и отли­ча­ют­ся кон­цеп­ци­ей или реа­ли­за­ци­ей в дета­лях. Логи­ка же вез­де оста­ёт­ся неиз­мен­ной.

Читать еще:  Рейтинг популярности языков программирования
Ссылка на основную публикацию
Adblock
detector
Для любых предложений по сайту: [email protected]