Python Выполнил: Железников Роман студент 1 курса БМБШ ИГУ Руководитель: Доктор физико-математических наук, профессор Курганская Галина Сергеевна.

Презентация:



Advertisements
Похожие презентации
Язык Python Универсальный язык программирования Интерпретируемый язык.
Advertisements

ПРЕЗЕНТАЦИЯ НА ТЕМУ: ПРЕЗЕНТАЦИЯ НА ТЕМУ: ВИДЫ ТРАНСЛЯЦИИ Составил: Ревнивцев М.В Преподаватель: Кленина В.И.
Языки программирования. PYTHON для преподавания алгоритмизации и программирования в школьном курсе информатики Елена Владимировна Андреева, зав. каф. информатики,
Объектно-ориентированное программирование Карпов В.Э. Смолток. Лекция 4. Байт-код.
Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических.
Министерство образования Республики Беларусь Белорусский государственный университет Управляющие структуры языков программирования.
Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических.
Одномерный массив. Цель урока: познакомить учащихся с понятием одномерный массив Задачи: дать определение массива дать представление: об описании массива.
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Алгоритмизация и требования к алгоритму Алгоритм и алгоритмизация Алгоритм и алгоритмизация.
ПРАКТИКУМ по предмету: Информатика Алгоритмический язык Турбо-Паскаль.
Лекция 1 Классификация С++. Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических.
Введение в программирование. Компоненты системы программирования Среда Режимы работы Система команд Данные Язык программирования Среда программирования.
Цель урока: Дать основные понятия о языках программирования. План : 1. Основные сведения о языках программирования. 2. Основные средства языков. Алфавит.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Информационные технологии Литература Керниган Б., Ритчи Д. Язык программирования Си. М.И. Болски. Язык программирования Си. Справочник. 2.
Лекция 7. Структура языка С/С++. Операторы ветвления: условный оператор if. Полное ветвление. Неполное ветвление. Оператор множественного выбора switch.
Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
Транксрипт:

Python Выполнил: Железников Роман студент 1 курса БМБШ ИГУ Руководитель: Доктор физико-математических наук, профессор Курганская Галина Сергеевна

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

Примеры первых языков программирования Фортран(FORmula TRANslator) Алгол Паскаль СИ

Что же такое Python? Python - высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Основные архитектурные черты динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).

Основные операторы использующиеся в Python условный оператор if (если). Альтернативный блок после else (иначе). Если условий и альтернатив несколько, можно использовать elif (сокр. от else if). операторы цикла while (пока) и for (для). Внутри цикла возможно применение break и continue для прерывания цикла и перехода сразу к следующей итерации соответственно. оператор определения класса class. оператор определения функции, метода или генератора def. Внутри возможно применение return (возврат) для возврата из функции или метода, а в случае генератора yield (давать). оператор обработки исключений try except else или try finally (начиная с версии 2.5, можно использовать finally, except и else в одном блоке).

Синтаксическая особенность Python Одной из интересных синтаксических особенностей языка является выделение блоков кода с помощью отступов (пробелов или табуляций), поэтому в Питоне отсутствуют операторные скобки begin/end, как в языке Паскаль, или фигурные скобки, как в Си. Такой «трюк» позволяет сократить количество строк и символов в программе и приучает к «хорошему» стилю программирования. С другой стороны, поведение и даже корректность программы может зависеть от начальных пробелов в тексте. Некоторые критики языка считают такое поведение неудобным.

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

Функциональное программирование на Python функция является объектом функции высших порядков рекурсия развитая обработка списков (списковые выражения, операции над последовательностями, итераторы) аналог замыканий частичное применение функции возможность реализации других средств на самом языке

Недостатки Python Низкое быстродействие Отсутствие статической типизации Невозможность модификации встроенных классов Глобальная блокировка интерпретатора

Низкое быстродействие Классический Питон, как и многие другие интерпретируемые языки имеют общий недостаток сравнительно невысокую скорость выполнения программ. Однако, в случае с Python этот недостаток компенсируется уменьшением времени разработки программы. В среднем, программа, написанная на Python, в 2-4 раза компактнее, чем её аналог на C++ или Java. Сохранение байт-кода позволяет интерпретатору не тратить лишнее время на перекомпиляцию кода модулей при каждом запуске, в отличие, например, от языка Perl. Кроме того, существует специальная JIT-библиотека psyco, позволяющая ускорить выполнение программ (однако приводящая к увеличению потребления оперативной памяти). Эффективность psyco сильно зависит от архитектуры программы.

Отсутствие статической типизации Статическая типизация уменьшает количество ошибок в коде, поскольку значительное число потенциальных ошибок может быть отловлено интерпретатором сразу же при компиляции в байт-код. Тем не менее есть мнение, что отсутствие статической типизации является не столько недостатком интерпретатора, сколько выбором дизайнера языка. Дело в том, что в Python принята так называемая «Утиная типизация». В силу этого типы передаваемых значений недоступны на этапе компиляции, и ошибки вроде AttributeError могут возникать во время исполнения. Отсутствие статической типизации также является одной из основных причин низкого быстродействия.

Невозможность модификации классов В Python отсутствует возможность модифицировать встроенные классы, такие, как int, str, float, list и другие, что, однако, позволяет Python потреблять меньше оперативной памяти и быстрее работать. Ещё одной причиной введения такого ограничения является необходимость согласования с модулями расширения. Многие модули (в целях оптимизации быстродействия) преобразуют Python-объекты элементарных типов к соответствующим Си-типам вместо манипуляций с ними посредством Си-API.

Глобальная блокировка интерпретатора GIL - При своей работе основной интерпретатор Python постоянно использует большое количество потоково-небезопасных данных. В основном это словари, в которых хранятся атрибуты объектов и обращения к внешнему коду (написанному на С и т.п.). Во избежание разрушения этих данных при совместной модификации из разных потоков, перед началом исполнения нескольких инструкций (по умолчанию 100) поток интерпретатора захватывает GIL, а по окончании освобождает. Вследствие этого, в каждый момент времени в одном процессе интерпретатора Python может исполняться только один поток Python кода, даже если в компьютере имеется несколько процессоров или процессорных ядер.

Примеры проектов реализованных на Python. Компании использующие Python. Проекты реализованные на Python: BitTorrent – первый клиент-сервер для популярного файлообменных сетей; Civilization IV – популярная стратегическая игра, в которой Python используется как скриптовой язык Компании использующие Python: Dream Works Nokia Firaxis Games