Программирование на питон
Как начать программировать на Python
Если вы не знаете, с какого языка начать изучать программирование, — почитайте, что думает об освоении Python программист Skillbox Вадим Шандринов.
6 преимуществ Python
- Легко читаемый код — синтаксис языка построен таким образом, что он не позволяет писать «некрасивый» и неструктурированный код. Программа на Python выглядит как английский текст.
- Переносимость языка — Python является интерпретируемым языком и работает под виртуальной машиной, а это означает, что его можно запускать на разных платформах: MacOS, Linux, Windows, Android, iOS и прочих.
- Ускоренный цикл разработки — языку Python, в отличие от компилируемых языков программирования, таких как С, С++, С#, не нужно время на сборку и компиляцию программы, поэтому программа на Python быстро запускается и сразу показывает результат.
- Множество пакетов — язык имеет большое количество готовых решений и пакетов.
- Поддержка всех стилей программирования — императивный (приказной), объектный, функциональный.
- Низкий порог входа — за несколько дней можно начать писать свои первые программы.
Python и другие языки
В 2017 году Ассоциация инженеров электротехники и электроники IEEE (I triple E, «Ай трипл и») провела опрос на тему популярности языков программирования, и по его результатам Python занял лидирующие позиции.
Возможности Python-разработчика
- Создание веб-приложений — имеет фреймворки для создания сайтов и веб-приложений, например, Django, Flask.
- Автоматизация вычислительных комплексов — специальные серверные программы (Fabric, Ansible), которые разносят обновления по серверам, собирают информацию, позволяют автоматически инсталлировать систему и прочие процессы, которые требуют автоматизации.
- Ведение научных исследований — обработка структурированных и неструктурированных данных огромных объемов, добыча и анализ данных в научной сфере (библиотеки NumPy, Pandas).
- Создание полноценных десктопных приложений — создание переносимых десктоп-приложений (wxPython, pyQt).
- Встраивание приложений в мобильные системы — написание программ и игр под мобильные устройства (kivi), а также для различных устройств (stackless python): терминалов, кассовых аппаратов, роутеров, систем видеонаблюдения.
- Написание скриптов поведения в играх — например, в World of Tanks, EVE Online.
Кто программирует на Python
Компания Google создает свои версии языка и фреймворков. Серверная часть Instagram написана на Python с использованием фреймворка Django. «Яндекс» использует Python для различных внутренних решений, например, в «Яндекс.Картах». В NASA пишут программы для анализа проходящих полетов, различные скрипты для автоматизации вычислительных процессов. Облачное хранилище Dropbox полностью написано на Python, и, кстати, разработчик и создатель языка Гвидо Ван Россум сейчас работает именно там.
Как начать работу с Python
Начать писать программы на Python очень просто, для этого нужно:
- Установить дистрибутив последней версии www.python.org/downloads/.
- Установить подходящий текстовый редактор www.sublimetext.com/3.
После установки дистрибутива запускаем консоль Python через появившийся ярлык в меню «Пуск» и тестируем работоспособность: например, вводим выражение «2 + 2». Если видим результат 4, значит, все работает.
Работать в консоли не очень удобно, поэтому закроем ее, перейдем в текстовый редактор Sublime Text3 и настроим его для работы.
Для начала в главном меню редактора во вкладке Tools → Build System → Python укажем, что собираемся использовать синтаксис Python. Далее пропишем простую команду print(‘Hello world’), сохраним файл с расширением .py и запустим на выполнение комбинацией клавиш Ctrl + B. Если в консоли редактора вы увидите надпись «Hello world», значит, все настроено правильно и можно приступать к работе.
Пишем скрипт для рисования
В данном примере мы напишем скрипт, который будет рисовать дерево. Для работы с графикой в открытом доступе существует специальная Python-библиотека simple_draw. Чтобы установить ее, необходимо открыть командную строку (cmd) и прописать в ней команду pip install simple_draw.
Для начала давайте представим, из чего состоит структура дерева. Это ствол и ветки. В нашей программе дерево будет строиться из векторов — направленных отрезков. Попробуем нарисовать вектор. Перейдем в редактор, создадим новый файл draw.py и пропишем следующий код:
simple_draw.resolution = (1200, 600)
point = simple_draw.get_point(600, 5)
angle, length, width = 90, 100,3
vector_1 = simple_draw.Vector(point, angle, length, width)
Для начала мы указываем, что хотим импортировать в нашу программу библиотеку simple_draw. Затем задаем разрешение окна для отрисовки —1200 на600 пикселей.
Далее создаем переменную point (точка) и с помощью метода (функции) get_point задаем начальную точку, из который будет выходить вектор, —600 пикселей от левого края экрана и 5 пикселей от низа экрана.
Чтобы создать объект Vector, нужно задать ему такие параметры, как точка начала вектора — point, угол отклонения — angle (90 градусов), длина — length (100 пикселей) и толщина линии — width (3 пикселя). Как видно из кода, все эти переменные можно записать в одну строчку.
Переменная vector_1 будет содержать в себе объект — вектор, а чтобы отрисовать его в окне, применим к нему метод draw (рисовать). Сохраним и запустим скрипт.
Представим, что мы отрисовали ствол дерева. Теперь попробуем создать еще несколько векторов, чтобы нарисовать ветви. У дерева может быть огромное количество веток, поэтому придется создавать и большое количество векторов. Такой код будет слишком громоздким и длинным. Чтобы этого избежать, автоматизируем процесс рисования векторов и создадим функцию branch, принимающую на вход параметры point, angle, length и width, которая и будет рисовать ветви.
def branch(point, angle, length, width):
vector = simple_draw.Vector(point, angle, length, width)
return vector.end_point, angle — 30, length * 0.8, width
Данная функция создает вектор с теми параметрами, которые ей передаются в скобках, отрисовывает его, а затем возвращает конечную точку отрисованного вектора (vector.end_point), угол отклонения, который на30 градусов меньше предыдущего (angle –30), длину вектора, немного меньшую исходной (length*0.8) и ширину (width). Попробуем с ее помощью создать несколько новых ветвей.
simple_draw.resolution = (1200, 600)
def branch(point, angle, length, width):
vector = simple_draw.Vector(point, angle, length, width)
return vector.end_point, angle — 30, length * 0.8, width
point = simple_draw.get_point(600, 5)
angle, length, width = 90, 100,3
point_2, angle_2, length_2, width_2 = branch(point, angle, length, width)
point_3, angle_3, length_3, width_3 = branch(point_2, angle_2, length_2, width_2)
point_4, angle_4, length_4, width_4 = branch(point_3, angle_3, length_3, width_3)
point_5, angle_5, length_5, width_5 = branch(point_4, angle_4, length_4, width_4)
Мы нарисовали4 вектора. Каждый последующий вектор исходит от конца предыдущего и отличается длиной и углом отклонения, тем самым формируя изгиб ветви дерева. Но если мы снова представим реальное дерево, то чтобы отрисовать его, потребуется еще множество векторов. Задача программиста — написать как можно более компактный, универсальный и красивый код.
Поэтому сейчас пора освоить такую важную вещь, как рекурсия. Рекурсия — это когда функция внутри своего тела вызывает саму себя. Сократим немного код и перепишем функцию.
simple_draw.resolution = (1200, 600)
def branch(point, angle, length, width):
Как видите, небольшая функция за нас сделала всю работу. Изменив ее параметры и немного «поиграв» с кодом, можно добиться различных форм и видов деревьев.
Заключение
Python — очень перспективный и востребованный язык. Рассмотрев наглядный пример, мы видим, что его синтаксис и правда прост, а код — легко читаем. О возможностях и преимуществах перед другими языками мы тоже успели поговорить.
В ряды Python-разработчиков постоянно вступают новые программисты, расширяя и без того немалую базу знаний и открытого исходного кода. Надеемся, что после прочтения статьи вы тоже всерьез задумаетесь об изучении языка Python и выберите его в качестве основного. А заняться им вы сможете на курсе «Python-разработчик с нуля (2018)» от компании Skillbox.
Практический 4-х месячный курс для тех, кто хочет научиться основам программирования на универсальном, понятном и лаконичном языке с индивидуальным наставником, а также создать свою первую программу на Python и получить реальный опыт разработки.
- 32 часа теории и 16 практических заданий
- Живая обратная связь с преподавателями
- Неограниченный доступ к материалам курса
- Стажировка в компаниях-партнёрах
- Дипломный проект от реального заказчика
- Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы
Что такое Python: чем он хорош, где пригодится и как его выучить
Python — самый быстрорастущий язык программирования за последние несколько лет. Об этом говорит исследование StackOverflow за 2019 год. Давайте разберёмся, за что его любят разработчики и почему мы советуем начинающим программистам попробовать его в качестве первого языка.
Python просто понять и изучить
Вам точно стоит попробовать Python, если вы никогда не писали код, но хотите получить первую работающую программу как можно быстрее. Самый простой пример — программа, которая выводит на экран заданную фразу. Вот как выглядит ее код на трёх разных языках. Сравните количество и понятность строк кода.
“Java” справляется в 5 строк, используем множество скобок.
“C” работает похоже, хоть строк и немного меньше:
Python использует одну понятную строку:
Конечно, это не значит, что так будет всегда. Есть программы посложнее, но в них всё ещё можно разобраться, если немного знать английский. Например, вот программа, которая умеет отправлять электронные письма:
редакция нетологии
У Python много готовых библиотек для решения задач
Библиотеками в программировании называют инструменты для решения конкретных типов задач. Вот несколько примеров популярных библиотек для Python:
Pygame. Библиотека для создания небольших игр и мультимедийных приложений.
NumPy. Библиотека для работы с искусственным интеллектом и машинным обучением. Используется для сложных математических вычислений.
Pandas. Библиотека для работы с большими данными.
SQLAlchemy. Библиотека для работы с базами данных.
Django, Flask. Библиотеки для разработки серверной части приложений.
Наличие библиотек значит, что под каждую задачу есть свой инструмент. Придумывать что-то сложное с нуля не придется.
Python используют компании-гиганты
Многие известные нам компании и организации используют Python:
- Spotify и Amazon используют Python для анализа данных и создания рекомендаций.
- Walt Disney использует Python как скриптовый язык для анимации.
- YouTube и Instagram целиком написаны на Python.
- Если этого недостаточно, есть ещё NASA: их система автоматизации процессов WAS тоже создавалась средствами Python.
Python надолго останется популярным
Скорее всего, вы слышали о машинном обучении и больших данных. Хорошая новость — Python считается лучшим языком программирования для работы в этих областях. Вот что делают с его помощью:
- Собирают данные покупательской активности, строят гипотезы и находят новые точки роста компании.
- Разрабатывают алгоритмы машинного обучения. Например, Netflix написали свой рекомендательный сервис на Python.
- Автоматизируют рутинные задачи. Например, простой скрипт на Python может собрать все ссылки или картинки с указанного сайта и сохранить их в папку.
Python-разработчикам готовы платить
По данным калькулятора зарплат на сайте «Мой Круг», средняя зарплата младшего (Junior) Python-разработчика — примерно 60 000 рублей. В зависимости от региона, требований компании и умений кандидата, цифра может меняться. Python-разработчики среднего и высокого уровня (Middle и Senior) получают более высокие зарплаты.