СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Информационные системы в профессиональной деятельности

Категория: Информатика

Нажмите, чтобы узнать подробности

методичка

Просмотр содержимого документа
«Информационные системы в профессиональной деятельности»

Язык программирования     Python История создания и современное положение языка программирования Python

Язык программирования Python

История создания и современное положение языка программирования Python

Python (в русском языке распространено название пито́н ) — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Официальный сайт - https://www.python.org/  Справочник(Документация) - https://docs.python.org/3/

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

Официальный сайт - https://www.python.org/ Справочник(Документация) - https://docs.python.org/3/

Python поддерживает несколько парадигм программирования: структурное; объектно-ориентированное(ООП); функциональное; императивное; аспектно-ориентированное.

Python поддерживает несколько парадигм программирования:

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

Основные архитектурные черты:

  • динамическая сильная неявная типизация;
  • автоматическое управление памятью;
  • полная интроспекция;
  • механизм обработки исключений;
  • поддержка многопоточных вычислений;
  • и удобные высокоуровневые структуры данных.
Guido van Rossum Гвидо ван Россум родился 31 января 1956 г. в Нидерландах, где вырос и закончил Амстердамский университет по специальности «математика и информатика» в 1982 году. Работал в исследовательских институтах и лабораториях Европы и США. В 1991  г. – состоялся первый релиз языка Python  С  2005 – 2012 гг. – работал в Google . C  2013 –  инженер ( Python BDFL ) в Dropbox .  В настоящее время живёт в Сан-Франциско, в Калифорнии.

Guido van Rossum

Гвидо ван Россум родился 31 января 1956 г. в Нидерландах, где вырос и закончил Амстердамский университет по специальности «математика и информатика» в 1982 году. Работал в исследовательских институтах и лабораториях Европы и США.

В 1991 г. – состоялся первый релиз языка Python

С 2005 2012 гг. – работал в Google .

C 2013 – инженер ( Python BDFL ) в Dropbox .

В настоящее время живёт в Сан-Франциско, в Калифорнии.

Guido van Rossum – Creator of the Python programming language

Guido van Rossum – Creator of the Python programming language

Меня зовут Гвидо ван Россум. Я создал язык программирования «Питон». Я работал над Питоном в течение 25 лет, и я работал, конечно же, с большой группой других людей. Я очень рад видеть вас всех в этом классе. И я очень горд, что вы используете мой язык для обучения. «Питон» - это всего лишь первый шаг, который вы делаете на своём пути к программированию. Есть много интересных вещей, которые вы узнаете в программировании. Многое вы узнаете, используя «Питон», многое вы узнаете, используя другие языки. И вы такие не одни. Миллионы людей изучали «Питон» до вас и миллионы изучают его одновременно с вами. И вы можете помогать друг другу и учиться вместе.

Меня зовут Гвидо ван Россум. Я создал язык программирования «Питон». Я работал над Питоном в течение 25 лет, и я работал, конечно же, с большой группой других людей. Я очень рад видеть вас всех в этом классе. И я очень горд, что вы используете мой язык для обучения. «Питон» - это всего лишь первый шаг, который вы делаете на своём пути к программированию. Есть много интересных вещей, которые вы узнаете в программировании. Многое вы узнаете, используя «Питон», многое вы узнаете, используя другие языки. И вы такие не одни. Миллионы людей изучали «Питон» до вас и миллионы изучают его одновременно с вами. И вы можете помогать друг другу и учиться вместе.

Фото из Твиттера Гвидо ван Россума

Фото из Твиттера

Гвидо ван Россума

PYTHON и ПИТОН  Назван язык не в честь змеи, а в честь английской комик-группы «Монти Пайтон», снявшейся в телешоу «Летающий цирк Монти Пайтона» в 1969-1974 годах в жанре абсурдистского юмора. (Пример: https://www.youtube.com/watch?v=g9LEvEFGzIw Влияние, оказанное коллективом на жанр комедии, сравнивают с влиянием, оказанным группой The Beatles на поп и рок-музыку.

PYTHON и ПИТОН

Назван язык не в честь змеи, а в честь английской комик-группы «Монти Пайтон», снявшейся в телешоу «Летающий цирк Монти Пайтона» в 1969-1974 годах в жанре абсурдистского юмора. (Пример: https://www.youtube.com/watch?v=g9LEvEFGzIw

Влияние, оказанное коллективом на жанр комедии, сравнивают с влиянием, оказанным группой The Beatles на поп и рок-музыку.

Реализации языка PYTHON CPython  –  это и есть сам PYTHON , т.к. он написан на языке C . Jython  – это реализация языка Python на языке Java. IronPython – реализация языка Python, предназначенная для платформы Microsoft .NET или Mono. Написан на C# . ChinesePython  – язык, использующий лексику китайского языка. зарезирвированные слова, имена переменных, и большинство операторов также на китайском.  PyPy – в начале своего существования был интерпретатором Python, написанным на Python. Текущие версии PyPy транслируются из RPython в Си и компилируются. Ему пророчат будущее. и многие другие

Реализации языка PYTHON

  • CPython – это и есть сам PYTHON , т.к. он написан на языке C .
  • Jython – это реализация языка Python на языке Java.
  • IronPython реализация языка Python, предназначенная для платформы Microsoft .NET или Mono. Написан на C# .
  • ChinesePython – язык, использующий лексику китайского языка. зарезирвированные слова, имена переменных, и большинство операторов также на китайском.
  • PyPy в начале своего существования был интерпретатором Python, написанным на Python. Текущие версии PyPy транслируются из RPython в Си и компилируются. Ему пророчат будущее.
  • и многие другие
Версии Python PYTHON v. 3.0 03.12.2008 PYTHON v. 2.0 16.10.2000 … … PYTHON v. 1 .0 1994 3.4 2014 2.6 2008 … 3.5 2015 2.7 2010 1 .6 2000 3. 6 2016 3. 8 ..20?? END 3. 7 2018

Версии Python

PYTHON v. 3.0

03.12.2008

PYTHON v. 2.0

16.10.2000

PYTHON v. 1 .0

1994

3.4

2014

2.6

2008

3.5

2015

2.7

2010

1 .6

2000

3. 6

2016

3. 8 ..20??

END

3. 7

2018

Применение Python ИНДУСТРИЯ ОБРАЗОВАНИЕ Google Apple IBM Facebook NASA Яндекс и Mail.Ru Dropbox Instagram Наибольшее распространение получил в США Это первый язык программирования в MIT – флагмане обучения computer scienic в мире В США рекомендован как первый язык программирования для школ и университетов Изучается в школах и ВУЗАХ России  и многие другие .

Применение Python

ИНДУСТРИЯ

ОБРАЗОВАНИЕ

  • Google
  • Apple
  • IBM
  • Facebook
  • NASA
  • Яндекс и Mail.Ru
  • Dropbox
  • Instagram
  • Наибольшее распространение получил в США
  • Это первый язык программирования в MIT – флагмане обучения computer scienic в мире
  • В США рекомендован как первый язык программирования для школ и университетов
  • Изучается в школах и ВУЗАХ России

и многие другие .

С 2015 года задания на Python входят в ЕГЭ( 8 заданий):  часть 1 – 5 заданий, часть 2 – 3 задания

С 2015 года задания на Python входят в ЕГЭ( 8 заданий): часть 1 – 5 заданий, часть 2 – 3 задания

РЕЙТИНГИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ TIOBE Programming Community Index (Индекс TIOBE) Каждый год, начиная с 2003, авторами TIOBE выбирается язык года  ( Programming Language of the Year): 2017 C 2016 Go 2015 Java 2014 Javascript 2013 Transact-SQL 2012 Objective-C 2011 Objective-C 2010 Python 2009 Go 2008 C 2007 Python 2006 Ruby 2005 Java 2004 PHP 2003 C++ Ежемесячно рассчитывается на основе количества ссылок, найденных по запросам вида: +

РЕЙТИНГИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

TIOBE Programming Community Index (Индекс TIOBE)

Каждый год, начиная с 2003, авторами TIOBE выбирается язык года

( Programming Language of the Year):

2017 C

2016 Go

2015 Java

2014 Javascript

2013 Transact-SQL

2012 Objective-C

2011 Objective-C

2010 Python

2009 Go

2008 C

2007 Python

2006 Ruby

2005 Java

2004 PHP

2003 C++

Ежемесячно рассчитывается на основе количества ссылок, найденных по запросам вида: +" programming" в поисковых системах и Google, YouTube, Baidu, Yahoo!, Amazon, Wikipedia, Bing и другие. Более высокая позиция языка в рейтинге свидетельствует, что о нём найдено больше страниц по сравнению с другими языками. При этом предполагается, что существует корреляция между количеством найденных страниц и числом специалистов, использующих этот язык .

TIOBE Programming Community Index (Индекс TIOBE)

TIOBE Programming Community Index (Индекс TIOBE)

РЕЙТИНГИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ IEEE Spectrum’s Top Programming Languages Рейтинг синтезирует результаты, полученные по 12 метрикам из 10 источников: поиск Google, Google Trends, Twitter, GitHub, Stack Overflow, Reddit, Hacker News, Career Builder, Dice, IEEE Xplore Digital Library. Рейтинг обновляется ежегодно. 10 самых популярных языков программирования 2018 года по данным IEEE Spectrum

РЕЙТИНГИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

IEEE Spectrum’s Top Programming Languages

Рейтинг синтезирует результаты, полученные по 12 метрикам из 10 источников: поиск Google, Google Trends, Twitter, GitHub, Stack Overflow, Reddit, Hacker News, Career Builder, Dice, IEEE Xplore Digital Library.

Рейтинг обновляется ежегодно.

10 самых популярных языков программирования 2018 года

по данным IEEE Spectrum

IEEE Spectrum’s Top Programming Languages

IEEE Spectrum’s Top Programming Languages

РЕЙТИНГИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ PYPL Popularity of Programming Language Index Этот рейтинг основан на том, как часто разработчики ищут руководства по тому или иному языку программирования. Данные собираются в Google Trends по запросам

РЕЙТИНГИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

PYPL Popularity of Programming Language Index

Этот рейтинг основан на том, как часто разработчики ищут руководства по тому или иному языку программирования. Данные собираются в Google Trends по запросам " tutorial".

Существуют также и др. рейтинги

Дальнейшая разработка PEP – Python Enhancement Proposal (Предложения по развитию Python) — это документ со стандартизированным дизайном, предоставляющий общую информацию о языке Python, включая новые предложения, описания и разъяснения возможностей языка. PEP предлагаются как основной источник для предложения новых возможностей и для разъяснения выбора того или иного дизайна для всех основных элементов языка. Выдающиеся PEP рецензируются, комментируются и утверждаются Гвидо ван Россумом, имеющим в проекте статус «великодушного пожизненного диктатора» .

Дальнейшая разработка

PEP – Python Enhancement Proposal (Предложения по развитию Python) — это документ со стандартизированным дизайном, предоставляющий общую информацию о языке Python,

включая новые предложения, описания

и разъяснения возможностей языка.

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

Выдающиеся PEP рецензируются, комментируются и утверждаются Гвидо ван Россумом, имеющим в проекте статус

«великодушного пожизненного диктатора» .

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

Плюсы и минусы Python

+

  • открытый код;
  • простота синтаксиса;
  • наличие мощных библиотек;
  • многоплатформенность;
  • бесплатность;
  • прост в изучении;
  • сообщество поддержки.
  • невысокая скорость выполнения программ;
  • эволюция языка.
Среды разработки (IDE) для Python IDE – Интегрированная среда разработки (англ. Integrated Development Environment) IDLE PyDev Aptana Wing PyCharm Eclipse Emacs Vim NotePad++ Полный список редакторов можно найти на странице http://wiki.python.org/moin/PythonEditors.

Среды разработки (IDE) для Python

IDE – Интегрированная среда разработки (англ. Integrated Development Environment)

  • IDLE
  • PyDev
  • Aptana
  • Wing
  • PyCharm
  • Eclipse
  • Emacs
  • Vim
  • NotePad++

Полный список редакторов можно найти на странице http://wiki.python.org/moin/PythonEditors.

КОМПИЛЯЦИЯ Исходный текст программы КОМПИЛЯТОР Выполнение ПРОГРАММА на машинном языке ПРОГРАММЫ ИНТЕРПРЕТАЦИЯ Исходный текст программы КОМАНДА  на машинном языке ИНТЕРПРЕТАТОР Выполнение КОМАНДЫ

КОМПИЛЯЦИЯ

Исходный

текст

программы

КОМПИЛЯТОР

Выполнение

ПРОГРАММА на машинном языке

ПРОГРАММЫ

ИНТЕРПРЕТАЦИЯ

Исходный

текст

программы

КОМАНДА

на машинном языке

ИНТЕРПРЕТАТОР

Выполнение

КОМАНДЫ

ПЛЮСЫ И МИНУСЫ КОМПИЛЯЦИИ И ИНТЕРПРЕТАЦИИ КОМПИЛЯТОРЫ ИНТЕРПРЕТАТОРЫ + – + –  Быстрота работы программ Отсутствие надобности компилятора на компьютере пользователя Программа имеет зависимость от ОС, под которую была скомпилирована Сложность отладки кода программы Работают на любой платформе Более совершенные и наглядные средства диагностики ошибок Упрощение отладки исходных кодов программ Меньшие размеры машинных кодов Не может выполняться отдельно без программы -интерпретатора Программа выполняется медленнее

ПЛЮСЫ И МИНУСЫ КОМПИЛЯЦИИ И ИНТЕРПРЕТАЦИИ

КОМПИЛЯТОРЫ

ИНТЕРПРЕТАТОРЫ

+

+

  • Быстрота работы программ
  • Отсутствие надобности компилятора на компьютере пользователя
  • Программа имеет зависимость от ОС, под которую была скомпилирована
  • Сложность отладки кода программы
  • Работают на любой платформе
  • Более совершенные и наглядные средства диагностики ошибок
  • Упрощение отладки исходных кодов программ
  • Меньшие размеры машинных кодов
  • Не может выполняться отдельно без программы -интерпретатора
  • Программа выполняется медленнее
Виртуальная машина PYTHON Выполнение (PVM) Исходный Текст m.py Байт-код на python m.pyc Питон компилирует программу в байт-код, который передается механизму под названием виртуальная машина Python(PVM). Цепочка операций выглядит следующим образом: 1. CPython компилирует ваш исходный код на Питоне в байткод. 2. Этот байткод запускается(интерпретируется)  на виртуальной машине CPython. Байт-код – это внутреннее представление программы на языке Python. Сильно упрощая: машинный код намного быстрее, но байткод лучше переносим и защищен.

Виртуальная машина PYTHON

Выполнение

(PVM)

Исходный

Текст

m.py

Байт-код

на python

m.pyc

Питон компилирует программу в байт-код, который передается механизму под названием виртуальная машина Python(PVM).

Цепочка операций выглядит следующим образом:

1. CPython компилирует ваш исходный код на Питоне в байткод.

2. Этот байткод запускается(интерпретируется)

на виртуальной машине CPython.

Байт-код – это внутреннее представление программы на языке Python.

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

«Дзен Питона» Красивое лучше, чем уродливое. Явное лучше, чем неявное. Простое лучше, чем сложное. Сложное лучше, чем запутанное. Плоское лучше, чем вложенное. Разреженное лучше, чем плотное. Читаемость имеет значение. Особые случаи не настолько особые, чтобы нарушать правила. При этом практичность важнее безупречности. Ошибки никогда не должны замалчиваться. Если не замалчиваются явно. Встретив двусмысленность, отбрось искушение угадать. Должен существовать один — и, желательно, только один — очевидный способ сделать это. Хотя он поначалу может быть и не очевиден, если вы не голландец Сейчас лучше, чем никогда. Хотя никогда зачастую лучше, чем прямо сейчас. Если реализацию сложно объяснить — идея плоха. Если реализацию легко объяснить — идея, возможно, хороша. Пространства имён — отличная штука! Будем делать их побольше!

«Дзен Питона»

  • Красивое лучше, чем уродливое.
  • Явное лучше, чем неявное.
  • Простое лучше, чем сложное.
  • Сложное лучше, чем запутанное.
  • Плоское лучше, чем вложенное.
  • Разреженное лучше, чем плотное.
  • Читаемость имеет значение.
  • Особые случаи не настолько особые, чтобы нарушать правила.
  • При этом практичность важнее безупречности.
  • Ошибки никогда не должны замалчиваться.
  • Если не замалчиваются явно.
  • Встретив двусмысленность, отбрось искушение угадать.
  • Должен существовать один — и, желательно, только один — очевидный способ сделать это.
  • Хотя он поначалу может быть и не очевиден, если вы не голландец
  • Сейчас лучше, чем никогда.
  • Хотя никогда зачастую лучше, чем прямо сейчас.
  • Если реализацию сложно объяснить — идея плоха.
  • Если реализацию легко объяснить — идея, возможно, хороша.
  • Пространства имён — отличная штука! Будем делать их побольше!
Pytho n - самый стильный язык программирования в мире. Он не допускает двоякого написания  кода. Так, языку Perl присущи зависимость от контекста и множественность синтаксиса, и  часто два программиста пишущих на Perl, просто не понимают код друг друга. В P yt hon же  код можно написать только одним способом. В нем отсутствуют лишние конструкции. Все  программисты должны придерживаться стандарта РЕР-8. Более читаемого кода нет ни в одном другом  языке программирования. На английском: https://www.python.org/dev/peps/pep-0008/ На русском: http://pep8.ru/doc/pep8/

Pytho n - самый стильный язык программирования в мире. Он не допускает двоякого написания кода.

Так, языку Perl присущи зависимость от контекста и множественность синтаксиса, и часто два программиста пишущих на Perl, просто не понимают код друг друга.

В P yt hon же код можно написать только одним способом.

В нем отсутствуют лишние конструкции.

Все программисты должны придерживаться стандарта РЕР-8.

Более читаемого кода нет ни в одном другом языке программирования.

На английском: https://www.python.org/dev/peps/pep-0008/

На русском: http://pep8.ru/doc/pep8/

PEP 8 –  руководство по написанию кода на Python Pep (англ.) — бодрость духа, энергия Этот документ описывает соглашение(стандарт) о том, как писать код для языка python, включая стандартную библиотеку, входящую в состав python. PEP 8 создан на основе рекомендаций ван Россума с добавлениями от Барри  Уорсоуа. Ключевая идея такова: код читается намного больше раз, чем пишется. Собственно, рекомендации о стиле написания кода направлены на то, чтобы улучшить читаемость кода и сделать его согласованным между большим числом проектов. В идеале, весь код будет написан в едином стиле, и любой сможет легко его прочесть.

PEP 8 – руководство по написанию кода на Python

Pep (англ.) — бодрость духа, энергия

Этот документ описывает соглашение(стандарт) о том, как писать код для языка python, включая стандартную библиотеку, входящую в состав python.

PEP 8 создан на основе рекомендаций ван Россума

с добавлениями от Барри Уорсоуа.

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

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

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

Две причины для того, чтобы нарушить данные правила:

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

– Чтобы писать в едином стиле с кодом, который уже есть в проекте и который нарушает правила (возможно, в силу исторических причин).

Начинающим разработчикам на Python рекомендуется распечатать и повесить на стену

  • используйте 4 пробела для отступа и не используйте табы, не смешивайте их
  • максимальная длина строки 79 символов; для разрыва строки используйте отступы или бэкслеш
  • функции верхнего уровня и определения классов отделяйте двумя пустыми строками
  • определения методов внутри класса отделяйте одной пустой строкой
  • дополнительные пустые строки используйте для логической группировки методов
  • кодировка файлов должна быть Latin-1, а в Питоне 3 и выше — utf-8
  • каждый импортируемый модуль с новой строки
  • порядок импортов: стандартные модули, third-party модули, локальные модули приложения
  • пустая строка между каждой группой импортов
  • избегайте лишних пробелов внутри скобок; перед запятыми, точкой с запятой и двоеточиями
  • избегайте лишних пробелов перед скобками с аргументами функций и скобками с индексами
  • избегайте больше чем одного пробела между операторами (= — + итд)
  • используйте одиночный пробел для выделения операторов
  • избегайте пробелов вокруг ‘=’, который используется для параметров по-умолчанию и keyword аргументов
  • обновляйте комментарии вместе с кодом
  • пишите комментарии по-английски
  • избегайте имён из одиночных l, O, I
  • для модулей и пакетов используйте короткие и т.д.
Среды разработки (IDE) для Python IDE – Интегрированная среда разработки (англ. Integrated Development Environment) IDLE PyDev Aptana Wing PyCharm Eclipse Emacs Vim NotePad++

Среды разработки (IDE) для Python

IDE – Интегрированная среда разработки (англ. Integrated Development Environment)

  • IDLE
  • PyDev
  • Aptana
  • Wing
  • PyCharm
  • Eclipse
  • Emacs
  • Vim
  • NotePad++
Shebang Основная идея - улучшение переносимости между платформами и компьютерами. Не гарантируется, что на различных системах исполняемый файл будет лежать по пути, который указан в shebang. Использование env позволяет снизить этот риск за счет запуска команды на основе данных из переменной среды PATH #!/urs/bin/env python3 Если собираемся внутри скрипта на питоне писать текст на русском или ещё каком языке кроме английского, то в начало файла нужно вставить строку: # -*- coding: utf-8 -*- Эти две строки кода желательно писать в самом начале, если пишете сценарий в обычных текстовых редакторах

Shebang

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

#!/urs/bin/env python3

Если собираемся внутри скрипта на питоне писать текст на русском или ещё каком языке кроме английского, то в начало файла нужно вставить строку:

# -*- coding: utf-8 -*-

Эти две строки кода желательно писать в самом начале, если пишете сценарий в обычных текстовых редакторах

ИТАК!!!

ИТАК!!!

… ТЫ СДЕЛАЛ ВЫБОР?

ТЫ СДЕЛАЛ ВЫБОР?

ВЫБОР ОЧЕВИДЕН!!!

ВЫБОР ОЧЕВИДЕН!!!