Автор: Шабанов Павел Александрович
Email: pa.shabanov@gmail.com
URL:
Дата последнего обновления: 13.01.2017
заинтересовать и мотивировать изучать именно python;
рассказать об особенностях, преимуществах и недостатках языка программирования python.
Приобщение к любому языку программирования определяется целью изучения и спецификой профессиональной области пользователя. В общем случае имеет смысл изучать языки программирования общего назначения, то есть не специализированные.
Почему среди множества существующих сегодня языков программирования общего назначения стоит выбрать именно python?
Немаловажным фактором является популярность того или иного языка программирования. Если язык популярен, если им интересуются, значит у него будет хорошая поддержка, будет динамичное развитие и быстрое устранение ошибок. Популярность python обеспечивается простым и прозрачным синтаксисом языка, его стабильностью и широкими возможностями. Python одинаково подходит как для обучения школьников и студентов программированию, анализа данных, в том числе и "больших" (BIG DATA), так и для разработки коммерческого ПО высокого уровня (python активно используется в компаниях "Яндекс" и "Google").
Существует индекс популярности языков программирования PyPL, который показывает, как часто учебные материалы по конкретному языку программирования искали в поисковой системе Google. На рисунке 1 показана динамика индексов PyPL для python и Matlab©. В 2013 году python стал «языком года», показав самый высокий годовой прирост индекса PyPL среди таких языков как Java, PHP, С++, R и других. А вот цитата с сайта индекса PyPL, датированная 13.01.2017 года: Worldwide, Java is the most popular language, Python grew the most in the last 5 years (7.2%) and PHP lost the most (-4.7%)
Python был представлен Гвидо ван Россумом (Guido van Rossum) в 1991 году. Python относится к свободно распространяемому программному обеспечению (СПО) и распространяется под лицензией "Python Software Foundation License". Это позволяет максимально широко и свободно использовать данный язык программирования в различных проектах, в том числе и научных.
Python относится к интерпретируемым языкам программирования с динамической типизацией данных, что позволяет не описывать переменные до их использования, а работать более свободно, на ходу меняя тип данных переменных. Классическая первая команда на python выглядит очень минималистично: print('Hello, World!').
Python реализует принцип модульного программирования: программа на python состоит из главного модуля и второстепенных, которые можно подключить при выполнении кода главного модуля. Стандартная библиотека языка python богата возможностями(т.н. "батарейками") и включает, в частности, модули для работы с сетевыми протоколами, операционной системой и библиотеку создания оконных приложений Tkinter. Обогащение языка специализированными модулями происходит за счёт создания новых модулей и пакетов (объединений модулей).
Стандартная библиотека python, дополненная свободно распространяемыми пакетами (например, NumPy, SciPy и Matplotlib), позволяет создать универсальную научно-вычислительную среду, практически не уступающую проприетарным продуктам, таким как MatLab© и др.
Python является кроссплатформенным или мультиплатформенным (Windows/Linux/MacOS и др.) языком программирования, что способствует интеграции большого числа пользователей в единое IT-сообщество.
За время своего существования (более 20 лет) в ходе исторического и логического развития в языке python сформировалось две ветви, называющиеся python2 и python3 соответственно. Последняя является будущим языка, а python2 когда-нибудь исчезнет. К сожалению, коды двух версий не совместимы: они используют разный синтаксис для ряда строенных функций. Принципиально это не играет роли, но на практике код приходится переписывать, если есть необходимость перейти с одной ветки на другую. Выбор той или иной ветви определяется задачами, которые стоят перед пользователем. Так для начинающих в программировании пользователям рекомендуется сразу использовать ветвь python3. Если работа подразумевает частый анализ текстов, то здесь также лучше использовать третью ветвь. Для научной же работы рекомендуется версия 2, так как в ней поддерживаются некоторые важные модули, которые пока не были переведены в синтаксис python 3. однако для научной работы рекоменд
Среди недостатков языка стоит отметить заметно меньшую скорость работы по сравнению с компилируемыми языками программирования (Fortran, С/C++). Современные средства и лёгкая интегрируемость с библиотеками, созданными на С и его разновидностях, делают разницу несущественной для неспецифических задач. В любом случае, за время обучения основам синтаксиса языка и алгоритмирования, это никак не влияет на работу пользователя.
Стоит отметить, что недостатки языка python и привели к возникновению двух ветвей развития: в python3 многие идеи были доведены до ума, некоторые конструкции были упрощены или объединены в более общие.
Есть мнение, что появление новых языков программирования (в том числе и python) в основном обусловлено врождёнными недостатками языков-предшественников. Доходя в своём развитии до естественных ограничений, языки "ломаются" и им придумывают заплатку. Часто такие заплатки перерастали в новые проекты, которые затем становились языками программирования. Схематично эволюцию языков программирования можно представить так:
Или по-другому:
В этом выпуске всего одно задание, зато какое! Это первая программа на python (одинаковая для python2 и python3), которая традиционно выводит на экран сообщение "Hello, World!".
На python такая задача реализуется в одну строку кода с использованием оператора print(). Оператор print() выводит сообщение, заключенное в скобки (или без них, после оператора через пробел, если используется версия python2). Строка оформляется кавычками как одиночными, так и двойными. Здесь разницы нет, главное, чтобы открывающая и закрывающая кавычки имели один вид.
# Пример 1 Первая программа на python
# То, что строке после символа # (решётки) - комментарий
# Комментарии игнорируются при исполнении кода
print('Hello, World!')
Hello, World!
Культура всегда отражает особенности восприятия тех или иных вещей. И языки программирования не исключение.
Помимо языка Ада (назван в честь миссис Ады Лавлейс (Ada Lovelace), первого программиста), с которым связано несколько анекдотов, про языки python и C++ есть сетевые комиксы. В короткой форме иллюстрации отражают первое впечатление при знакомстве с с каждым из языков программирования.
Так выглядит комикс про python.
А так - для С++. Почувствуйте разницу в подходе к обучению! =)
В N1 вы узнали о том, что python - это свободно распространяемый интерпретируемый язык программирования высокого уровня с динамической типизацией данных. Ознакомились с основными преимуществами и недостатками python. Узнали как написать первую программу ("Hello, world!") на python.