Домой / Музыка / Язык программирования питон самоучитель. Язык программирования 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 . К слову, спрос на разработчиков 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? Ведь нередко можно услышать, что этот язык умирает. Этот вопрос обсудили пользователи сайта Quora и поделились своим мнением.

Билл Карвн, SQL-разработчик, консультант, тренер и автор

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

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

Большая часть программистов сегодня использует языки более высокого уровня – им необходимо быть боле производительными. Языки высшего уровня могут компилироваться в машинный код (C или C++), а могут быть скомпилированы в байткод с независимой архитектурой и запущены в виртуальной машине (Java) ил же быть обработаны (JavaScript, PHP, Ruby, Python, Perl и др.).

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

Билл Поучер, исполнительный директор ICPC, программное обеспечение в сферах энергетики, синтетической генетики и др.

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

Изучи C как язык для Unix-машин. Понимание UNIX относительно несложно.

Изучи MIX, чтобы понимать Knuth.

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

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

Изучи LISP, чтобы укрепить свое понимание рекурсии.

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

Шива Шинде, на языке Python легко кодить, но его тяжело читать

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

  1. Его легко изучить
  • На данный момент 8 из 10 лучших американских программ для вычислительной техники используют этот язык (Philip Guo, CACM)
  • Программы на языке Python, как правило, имеют минимум шаблонов, которые обычно встречаются в других языках программирования. Поэтому вы можете чаще использовать нешаблонные решения задач.
  • Если у вас есть опыт программирования, пусть и не этом языке, то вы достаточно быстро овладеете Python.

2. Полный функционал

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

3. Серьезные библиотеки научных данных

  • Python обладает значительными научными библиотеками с огромным количеством данных для использования.
  • Основой этих научных библиотек является SciPy Ecosystem, которая даже проводит свои собственные конференции.
  • Pandas и Matplotlib - это составляющие SciPy. Они обеспечивают превосходные данные по самым разным темам, например, машинное обучение, интеллектуальный анализ текста и сетевой анализ.

Эрнан Сулаж, прагматичный программист

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

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

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

Магнус Лычка, разработчик программного обеспечения и консультант в Гетеборге

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

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

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

Здравствуйте всем!

Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП) , мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
Для начала окунёмся в возможности и узнаем, что же умеет Python?

А зачем мне твой Python?

Много начинающих программистов задают подобные вопросы. Это как с покупкой телефона, скажите, почему я должен купить этот телефон, а не этот?
Качество программного обеспечения
Для многих, в том числе и для меня, основные преимущества - это удобочитаемый синтаксис. Не много языков могут похвастаться им. Программный код на Python читается легче, что значит, многократное его использование и обслуживание выполняется гораздо проще, чем использование программного кода на других языках сценариев. Python содержит самые современные механизмы многократного использования программного кода, каким является ООП .
Библиотеки поддержки
В составе Python поставляется большое число собранных и переносимых функциональных возможностей, известных как стандартная библиотека. Эта библиотека предоставляет Вам массу возможностей, востребованных в прикладных программах, начиная от поиска текста по шаблону и заканчивая сетевыми функциями. Python допускает расширение как за счёт ваших собственных библиотек, так и за счёт библиотек, созданных другими разработчиками.
Переносимость программ
Большая часть программ на языке Python выполняется без изменений на всех основных платформах. Перенос программного кода из Linux в Windows заключается в простом копировании файлов программ с одной машины на другую. Также Python предоставляет Вам массу возможностей по созданию переносимых графических интерфейсов .
Скорость разработки
По сравнению с компилирующим, или строго типизированными языками, такими как С, С++ или Java, Python во много раз повышает производительность труда разработчика. Объем программного кода на языке Python обычно составляет треть, или даже пятую часть эквивалентного программного кода на языке С++ или Java, что означает меньший объем ввода с клавиатуры, меньшее количество времени на откладку и меньший объем трудозатрат на сопровождение. Кроме того, программы на языке Python запускаются сразу же, минуя длительные этапы компиляции и связывания, необходимые в некоторых других языках программирования, что еще больше увеличивает производительность труда программиста.

Где используется Python?

  • Компания Google использует Python в своей поисковой системе и оплачивает труд создателя Python - Гвидо ван Россума
  • Такие компании, как Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM, используют Python для тестирования аппаратного обеспечения
  • Служба коллективного использования видеоматериалов YouTube в значительной степени реализована на Python
  • NSA использует Python для шифрования и анализа разведданных
  • Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для прогнозирования финансового рынка
  • Популярная программа BitTorrent для обмена файлами в пиринговых сетях написана на языке Python
  • Популярный веб-фреймворк App Engine от компании Google использует Python в качестве прикладного языка программирования
  • NASA, Los Alamos, JPL и Fermilab используют Python для научных вычислений.
и другие компании также используют этот язык.

Литература

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

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

Настоятельно рекомендую прочитать первым делом книгу - Марк Лутц. Изучаем Python, 4-е издание . Книга переведена на русский язык, так что бояться не стоит, если Вы вдруг не знаете английский. Но именно четвёртое издание.

Для тех, кто знает английский, можно прочитать документацию на официальном сайте Python . Там всё довольно понятно описано.

А если же Вы более принимаете информацию по видео, то могу посоветовать уроки от компании Google, которые ведёт Ник Парланте - ученик из Стэнфорда. Шесть видеолекций на YouTube . Но в бочке мёда тут есть капля дёгтя… Ведёт он на английском языке с английскими субтитрами. Но надеюсь, что остановит это немногих.

Что делать, если я прочитал книги, но не знаю как применять знания?

Без паники!
Советую почитать книгу Марк Лутц. Программирование на Python (4-е издание) . Ранее было «изучаем», а тут «Программирование». В «Изучаем» - Вы получаете знания Python, в «Программирование» - Марк Вас учит как их применять в Ваши будущие программы. Книга очень полезная. И думаю одной её Вам хватит.

Хочу практики!

Легко.
Выше я писал о видеолекциях от Ника Парланте на YouTube, но у них есть также некие
  • Цель 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
И так далее.