Тарифы Услуги Сим-карты

Уроки программирования на python для начинающих. Что можно делать с помощью Python

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

Из этой статьи вы узнаете:

Привет, привет! На связи Гридин Семён. Наконец — то, я добрался до основной тематики этого блога, программирование интеллектуальных систем с помощью языка Python. Я долго шёл к этому, готовился. И вот, я готов писать вам интересные статьи и изучать глубоко эту тему.

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

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

Тогда начну свою повесть))...

Возможности языка программирования Python

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

Чем же может быть полезен Python?

  1. Работа с xml/html файлами
  2. Работа с http запросами
  3. GUI (графический интерфейс)
  4. Создание веб-сценариев
  5. Работа с FTP
  6. Работа с изображениями, аудио и видео файлами
  7. Робототехника (применение одноплатных компьютеров)
  8. Программирование математических и научных вычислений

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

На Питоне можно собрать и резервное копирование, и работу с электронными письмами, и простейший калькулятор, и скрипт для сайта. Язык ничем не ограничен. Что самое интересное, используется в таких IT-гигантах, как Google и Yandex.

В этой статье мы рассмотрим с вами программирование Python с нуля.

Для того чтобы у вас работала программа на определённом устройстве, неважно какая ОС — windows, linux, RaspbianOS, MacOS. Важно, чтобы у вас находился интерпретатор, который будет понимать команды и выполнять.

Делаем следующим образом, скачиваем IDE python c официального источника .

Знакомство с интерпретатором

Итак интерпретатор обрабатывает текстовый код программы. Существует интерактивный режим среды разработки. Можно запустить несколькими способами:

  1. Из обычной командной строки сmd — введите команду python ;
  2. C рабочего стола (ярлык);
  3. С помощью меню Пуск — Python IDLE;

Вам откроется это окошечко:

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

Для Arduino тоже есть своя программная оболочка . Почитайте.

С чего начать обучение python? Давайте попробуем написать первую программу?

Создание первой программы

Программа на языке Python — это обычный текстовый файл с написанным кодом. Расширение этого файла.py. Запустить программу можно, указав соответствующее имя в командной строке. Напишем с вами простейшую стандартную программу «Hello world!».

Задача такая — вывести на экран "Hello world!". Запускаем NotePad.

Пишем следующий код:

Python

print ("Hello world!!!")

print ("Hello world!!!" )

И сохраняем в папку соблюдая путь C:\MyScripts . Рекомендую все проекты скидывать в эту папку.

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

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

Лучшая книга по python для начинающих по праву считается самоучитель Майка МакГрата. Исчерпывающее руководство по составлению кода на языке Питон.

Извините за качество фото, по другому не получается. Остальные книги пока не рекомендую покупать, так как они на самом деле громоздкие и объёмные. Для базиса достаточно будет и МакГрата.

Ребят, на этом у меня всё, если у вас есть какие-то вопросы, вы всегда можете мне написать. Подписывайтесь на новости блога. Рассылайте друзьям. Спасибо за внимание.

С уважением, Гридин Семён

  • Цель 1 - помочь ссылками, материалами, тем, кто соберется изучать программирование и первым языком возьмет Python. Показать, что это не так сложно, как кажется.
  • Цель 2 - собрать в комментариях ссылки на полезные и интересные материалы по этой теме.

0. А получится ли у меня?

С самого начала я сомневался в том, что у меня получится сделать что-то большее чем Hello World. Мне казалось, что программирование это сверх сложно и сверх магия. К тому же есть работа, хобби, семья, что будет отвлекаться от полноценного изучения.

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

Все проще чем кажется и гораздо интереснее.

1. Литература

Марк Лутц “Программирование на Python” - его советуют читать на многих форумах и курсах. Мне он показался излишне подробным и нагруженным для новичка. Читать много, программировать мало. Гораздо полезнее его читать после овладевания Python минимума.

Марк Саммерфилд “Программирование на Python 3” - динамично, с отличными примерами и заданиями. Без излишнего углубления, которое только все усложняет в начале. Я рекомендую начать именно с этой книги, она поможет быстро вникнуть, не пугая сложностями.

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

2. Что читать в интернете

http://pythonworld.ru/ - простым и понятным языком рассказывается об азах языка, часто использовал, как шпаргалку.

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

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

Теги: обучение python, обучение программированию

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

Python для начинающих. Глава первая. «О чем это мы»

На всякий случай, немного скучного «evangelism». Кому он надоел, можно пропустить несколько абзацев.
Python (читается как «Пайтон» а не «питон») - скриптовый язык, разработанный Гвидо ван Россумом в качестве простого языка, легкого в изучении новичку.
В наше время Пайтон – широко распространенный язык, который используется во многих областях:
- Разработка прикладного ПО (например linux-утилиты yum, pirut, system-config-*, IM-клиент Gajim и многие другие)
- Разработка web-приложений (мощнейший Application-сервер Zope и разработанная на его основе CMS Plone, на основе которой работает например сайт ЦРУ, и масса фреймворков для быстрой разработки приложений Plones, Django, TurboGears и многие другие)
- Использование в качестве встраиваемого скриптового языка во многих играх, и не только (в офисном пакете OpenOffice.org, 3d редакторе Blender, СУБД Postgre)
- Использование в научных рассчетах (с пакетами SciPy и numPy для расчетов и PyPlot для рисования графиков Пайтон становится практически сравним с пакетами типа MatLab)

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

1. Сам интерпретатор, его можно взять тут (http://python.org/download/).
2. Среда разработки. Она для начала необязательна, да и идущий в дистрибутиве IDLE подойдет новичку, но для серъезных проектов нужно что-то посерьезней.
Для Windows я использую замечательный легковесный PyScripter (http://tinyurl.com/5jc63t), для Linux – Komodo IDE.

Хотя для первого урока достаточно будет просто интерактивной оболочки самого Пайтона.

Просто запустите python.exe. Приглашение ввода не заставит себя долго ждать, оно выглядит так:

Также можно записывать программы в файлы с расширением py, в вашем любимом текстовом редакторе, который не добавляет к тексту своих символов разметки (нет Word не подойдет). Также желательно чтобы этот редактор умел делать «умные табуляторы» и не заменял пробелы знаком табуляции.
Для запуска файлов на исполнение по ним можно щелкать 2 раза. Если консольное окно закрывается слишком быстро, вставьте в конце программы следующую строку:

Тогда интерпретатор будет в конце программы ждать нажатия enter.

Или ассоциируйте py-файлы в Far с Пайтоном и открывайте нажимая enter.

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

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

Для начала, Пайтон – язык со строгой динамической типизацией. Что это означает?

Есть языки со строгой типизацией (pascal, java, c и т.п.), у которых тип переменной определяется заранее и не может быть изменен, и есть языки с динамической типизацией (python, ruby, vb), в которых тип переменной трактуется в зависимости от присвоенного значения.
Языки с динамической типизацией можно разделить еще на 2 вида. Строгие, которые не допускают неявного преобразования типа (Пайтон) и нестрогие, которые выполняют неявные преобразования типа (например VB, в котором можно легко сложить строку "123" и число 456).
Разобравшись с классификацией Пайтона, попробуем немного «поиграть» с интерпретатором.

>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a, b (2, 1)

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

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

Условие задается с помощью оператора if, который заканчивается «:». Альтернативные условия которые будут выполняться если первая проверка «не прошла» задаются оператором elif. Наконец else задает ветку, которая будет выполнена если ни одно из условий не подошло.
Обратите внимание, что после ввода if интерпретатор с помощью приглашения «...» показывает что он ожидает продолжения ввода. Чтобы сообщить ему что мы закончили, необходимо ввести пустую строку.

(Пример с ветвлениями почему-то рвет разметку на хабре, не смотря на танцы с тегами pre и code. Простите за неудобство, я его кинул сюда pastebin.com/f66af97ba , если кто-то подскажет что не так - буду очень признателен)

Циклы.

Простейшим случаем цикла является цикл while. В качестве параметра он принимает условие и выполняется до тех пор, пока оно истино.
Вот маленький пример.

>>> x = 0 >>> while x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

Обратите внимание что поскольку и print x и x+=1 написаны с одинаковым отступом, они считаются телом цикла (помните что я говорил про блоки? ;-)).

Второй вид циклов в Пайтон – цикл for. Он аналогичен циклу foreach других языков. Его синтаксис условно таков.

For переменная in список:
команды

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

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

>>> x = "Hello, Python!" >>> for char in x: ... print char ... H e l ........... !

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

На входе она принимает от одного до трех параметров, на выходе возвращает список чисел, по которому мы можем «пройтись» оператором for.

Вот несколько примеров использования функции range, которые объясняют роль ее параметров.

>>> range(10) >>> range(2, 12) >>> range(2, 12, 3) >>> range(12, 2, -2)

И маленький пример с циклом.

>>> for x in range(10): ... print x ... 0 1 2 ..... 9

Ввод-вывод

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

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

Для ввода с консоли используется функция raw_input(приглашение), которая выводит на экран приглашение и ожидает ввода пользователя, возвращая то что ввел пользователь в виде своего значения.

X = int(raw_input ("Введи число:")) print "Квадрат этого числа составляет ", x * x

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

Вот и все для первого урока.

Домашнее задание.

1. Составить программу расчета гипотенузы прямоугольного треугольника. Длина катетов запрашивается у пользователя.
2. Составить программу нахождения корней квадратного уравнения в общем виде. Коэффициенты запрашиваются у пользователя.
3. Составить программу вывода таблицы умножения на число M. Таблица составляется от M * a, до M * b, где M, a, b запрашиваются у пользователя. Вывод должен осуществляется в столбик, по одному примеру на строку в следующем виде (например):
5 х 4 = 20
5 х 5 = 25
И так далее.

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

Основные отличия:

  • Flask обеспечивает простоту, гибкость и полный контроль над проектом. Он позволяет пользователю самостоятельно решать, как реализовывать те или иные вещи.
  • Django – это сервис типа «все включено». Из коробки в нем уже есть админ-панель, интерфейсы баз данных, ORM (объектно-реляционное отображение) и структура каталогов для ваших проектов.

Что выбрать?

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

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

Flask из-за своей гибкости лучше подходит для создания REST API .

С другой стороны, если стоит задача сделать что-то просто и быстро, вероятно, стоит выбрать Django.

Data Science: машинное обучение, анализ данных и визуализация

Прежде всего, следует разобраться, что такое .

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

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

А здесь она должна увидеть стол.

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

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

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

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

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

  • scikit-learn из коробки имеет несколько встроенных популярных алгоритмов обучения;
  • TensorFlow – это более низкоуровневая библиотека. Она позволяет создавать пользовательские алгоритмы.

Новичкам в машинном обучении лучше начать со scikit-learn. Более опытным разработчикам, которые столкнулись с проблемами эффективности, стоит присмотреться к TensorFlow.

Как изучать машинное обучение?

Настоящие аналитики, например, в Google или Microsoft, делают то же самое, только их работа более сложная и комплексная.

Они используют язык запросов SQL, чтобы извлекать данные из баз. Затем для анализа и визуализации применяются специальные инструменты, например, Mathplotlib (для Python) или D3.js (для JavaScript).

Способы применения Python для анализа и визуализации данных

Одна из самых популярных библиотек для визуализации – Mathplotlib .

Новичкам следует начинать обучение с нее по двум причинам:

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

Как изучать анализ данных на Python?

С недавних пор некоторые компании начали использовать для создания настольных приложений JavaScript. Например, десктопное приложение Slack было создано с помощью JavaScript-фреймворка Electron .

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

Python 3 или Python 2

Python 3 – это более современный и популярный выбор.

Пояснение о backend- и frontend-коде

Предположим, вы хотите сделать нечто, напоминающее Инстаграм.