Базовые конструкции языка
- Переменные, оператор присваивания, функции type и id
- Числовые типы, арифметические операции
- Математические функции и работа с модулем math
- Функции print() и input(). Преобразование строк в числа int() и float()
- Логический тип bool. Операторы сравнения и операторы and, or, not
Строки и списки
- Введение в строки. Базовые операции над строками
- Знакомство с индексами и срезами строк
- Основные методы строк
- Спецсимволы, экранирование символов, raw-строки
- Форматирование строк: метод format и F-строки
- Списки — операторы и функции работы с ними
- Срезы списков и сравнение списков
- Основные методы списков
- Вложенные списки, многомерные списки
Условные операторы, циклы, генераторы списков
- Условный оператор if. Конструкция if-else
- Вложенные условия и множественный выбор. Конструкция if-elif-else
- Тернарный условный оператор. Вложенное тернарное условие
- Оператор цикла while
- Операторы циклов break, continue и else
- Оператор цикла for. Функция range()
- Примеры работы оператора цикла for. Функция enumerate()
- Итератор и итерируемые объекты. Функции iter() и next()
- Вложенные циклы. Примеры задач с вложенными циклами
- Треугольник Паскаля как пример работы вложенных циклов
- Генераторы списков (List comprehensions)
- Вложенные генераторы списков
Словари, кортежи и множества
Что такое Python/Питон?
- Введение в словари (dict). Базовые операции над словарями
- Методы словаря, перебор элементов словаря в цикле
- Кортежи (tuple) и их методы
- Множества (set) и их методы
- Операции над множествами, сравнение множеств
- Генераторы множеств и генераторы словарей
- Функции: первое знакомство, определение def и их вызов
- Оператор return в функциях. Функциональное программирование
- Алгоритм Евклида для нахождения НОД
- Именованные аргументы. Фактические и формальные параметры
- Функции с произвольным числом параметров *args и **kwargs
- Операторы * и ** для упаковки и распаковки коллекций
- Рекурсивные функции
- Анонимные (lambda) функции
- Области видимости переменных. Ключевые слова global и nonlocal
- Замыкания в Python
- Введение в декораторы функций
- Декораторы с параметрами. Сохранение свойств декорируемых функций
Модули и пакеты. Работа с файлами
- Импорт стандартных модулей. Команды import и from
- Импорт собственных модулей
- Установка сторонних модулей (pip install). Пакетная установка
- Пакеты (package) в Python. Вложенные пакеты
- Функция open. Чтение данных из файла
- Исключение FileNotFoundError и менеджер контекста (with) для файлов
- Запись данных в файл в текстовом и бинарном режимах
Генераторы. Некоторые полезные функции
Объектно ориентированное программирование в Python за 10 минут!
- Выражения генераторы
- Функция-генератор. Оператор yield
- Функция map. Примеры ее использования
- Функция filter для отбора значений итерируемых объектов
- Функция zip. Примеры использования
- Особенности сортировки через sort() и sorted()
- Аргумент key для сортировки коллекций по ключу
- Функции isinstance и type для проверки типов данных
- Функции all и any. Примеры их использования
- Расширенное представление чисел. Системы счисления
- Битовые операции И, ИЛИ, НЕ, XOR. Сдвиговые операторы
- Модуль random стандартной библиотеки
- Аннотация базовыми типами
- Аннотации типов коллекций
- Аннотации типов на уровне классов
- Конструкция match/case. Первое знакомство
- Конструкция match/case с кортежами и списками
- Конструкция match/case со словарями и множествами
- Конструкция match/case. Примеры и особенности использования
Источник: proproprogs.ru
Введение в язык программирования Python
1. Лекция 1: Введение в язык программирования PYTHON
Дисциплина: «Основы алгоритмизации и
программирования»
Лекция 1: Введение в язык
программирования PYTHON
Преподаватель специальных дисциплин:
Кузембаева А.Ж.
2. План лекции:
1.
2.
3.
4.
5.
Введение;
История;
Особенности языка;
Отличия Python 2 от Python 3;
Структура программы на языке Python;
Преимущества и недостатки;
Заключение.
3. История:
Язык
программирования Python
был создан примерно в 1991 году
голландцем Гвидо ван Россумом.
Свое имя – Пайтон (или Питон) – получил от
названия телесериала, а не пресмыкающегося.
После того, как Россум разработал язык, он
выложил его в Интернет, где уже целое
сообщество программистов присоединилось к
его
улучшению.
Python
активно
совершенствуется и в настоящее время. Часто
выходят его новые версии. Официальный сайт
http://python.org.
4. Рейтинг языков программирования:
5. Особенности языка:
1. Простой
2. Лёгкий в освоении
3. Свободный и открытый
4. Язык высокого уровня
5. Портируемый
6. Интерпретируемый
7. Объектно-ориентированный
8. Расширяемый
9. Встраиваемый
10. Обширные библиотеки
6. Особенности Python:
Python
–
высокоуровневый
язык
программирования
общего
назначения
с
акцентом на производительность разработчика
и читаемость кода
Python и подавляющее большинство библиотек к
нему бесплатны и поставляются в исходных
кодах. Более того, в отличие от многих открытых
систем, лицензия никак не ограничивает
использование
Python
в
коммерческих
разработках
7. Термины:
Интерпретируемый язык программирования —
язык программирования, в котором исходный
код
программы не преобразуется в
машинный
код
для
непосредственного
выполнения центральным
процессором, а
исполняется
с
помощью
специальной
программы-интерпретатора.
Т.е.
код
программы
выполняется «на лету»,
переводится в машинный язык строчка за
стройкой
во
время
выполнения
программы.
8. Термины:
Высокоуровневый язык программирования —
язык программирования, разработанный для
быстроты
и
удобства
использования
программистом.
Основная черта высокоуровневых языков —
это абстракция, то есть введение смысловых
конструкций, кратко описывающих структуры
данных и
операции над ними, описания
которых на машинном коде (или другом
низкоуровневом
языке
программирования) очень длинны и сложны
для понимания.
9. Термины:
Модульность — принцип, согласно которому
программа
разделяется
на
отдельные
именованные
сущности, называемые
модулями.
Модульность
часто
является
средством
упрощения
задачи
проектирования программы и распределения
процесса
разработки
между
группами
разработчиков.
При разбиении программы
на модули для каждого из них указывается
реализуемая им
функциональность, а
также связи с другими модулями
10. Термины:
Модульность — принцип, согласно которому
программа
разделяется
на
отдельные
именованные
сущности, называемые
модулями.
Модульность
часто
является
средством
упрощения
задачи
проектирования программы и распределения
процесса
разработки
между
группами
разработчиков.
При разбиении программы
на модули для каждого из них указывается
реализуемая им
функциональность, а
также связи с другими модулями
11. Термины:
Синтаксис — сторона языка программирования,
которая описывает структуру программ как набор
символов (обычно говорят — безотносительно к
содержанию).
Синтаксису
языка
противопоставляется его семантика. Синтаксис
языка описывает «чистый» язык, в то время как
семантика приписывает значения (действия)
различным синтаксическим конструкциям.
Семантика — система правил определения
поведения отдельных языковых конструкций.
Семантика
определяет смысловое значение
предложений алгоритмического языка.
12. Особенности Python:
Если язык компилируемый (С++):
• Программа преобразуется из исходного языка
(C++) в язык, понятный компьютеру (бинарный
код, 0 и 1) при помощи компилятора. Когда вы
запускаете
такую
программу,
компоновщик/загрузчик копирует программу с
диска в оперативную память и запускает её.
13. Особенности Python:
Python – интерпретируемый язык программирования
• Не
требует компиляции в бинарный код.
Программа выполняется из исходного текста. Он
сам
преобразует
текст
в
некоторую
промежуточную форму, называемую байткодом,
а затем переводит его на машинный язык и
запускает.
• Программы на Python легко переносимы, их
достаточно просто скопировать на другой
компьютер, и они работают.
14. Особенности Python:
Python
поддерживает
как
процедурноориентированное, так и объектно-ориентированное
программирование.
В процедурно — ориентированных языках программы
строятся на основе процедур или функций, которые
представляют собой многократно используемые
фрагменты программы.
В
объектно
ориентированных
языках
программирования программы строятся на основе
объектов, объединяющих в себе данные и
функционал. Python предоставляет простые, но
мощные средства для ООП, особенно в сравнении с
такими большими языками программирования, как
C++ или Java.
15. Структура программы на языке Python:
Программа
Модуль 1
*.py
Модуль 2
*.py
Модуль 3
*.py
Инструкция 1
Инструкция 2
…
Инструкция n
Модуль —
это ряд связанных
между собой
операций.
Простые
состоят из одной строки кода
Инструкции
Составные
содержат вложенные
инструкции
16. Структура программы на языке Python:
Инструкции —
это указания компьютеру,
определяющие, какие
операции выполнит
компьютер над данными.
Выражения
в составе инструкций определяют,
над какими именно данными будут
выполнены действия, описанные в
инструкции.
17. Структура программы на языке Python:
Операции —
это любые действия над операндами.
Операнды —
это некоторые данные.
литералы;
выражения;
Литерал
2 * (10 — 4)
переменные.
Литералы
Приоритет выполнения операций соответствует принятому
в математике.
Выражение
18. Структура программы на языке Python:
Переменная —
это именованная
область оперативной
памяти, в которой
хранятся некоторые
данные определённого
типа.
Переменная:
Имя переменной
a
75
Ячейка оперативной
памяти
Значение
переменной
19. Отличия Python 2 от Python 3
Python 2.0 была выпущена в 2000 году. Его
последняя версия, 2.7, была выпущена в 2010 году.
Python 3.0 была выпущена в 2008 году. Его
новейшая версия 3.6 была выпущена в 2016 году, а
версия 3.8 была доступна уже в декабре 2019 года.
20. Отличия Python 2 от Python 3
Python 2 — это стандарт, а Python 3 — это будущее
Python 2 был самой популярной версией более 15 лет,
она все еще является актуальной среди некоторых
разработчиков приложений. Но, сейчас уже все больше
компаний переходят к использованию третьей версии.
Python 2 и Python 3 имеют разные (иногда
несовместимые)
библиотеки.
Сегодня
многие
разработчики создают библиотеки исключительно для
использования с третьей частью. Точно так же многие
старые библиотеки, созданные для Python 2, не
совместимы с последующей версией. Возможно, у вас
получится портировать библиотеку 2.x на 3.x., но это
может быть сложно и потребовать много времени – это
определенно не уровень новичков.
21. Отличия Python 2 от Python 3
Лучшая поддержка Unicode в Python 3.
В Python 3 текстовые строки по умолчанию
являются Unicode. В Python 2 строки хранятся как
ASCII по умолчанию – вам нужно добавить «u»
если вы захотите сохранить строки в формате
Unicode в Python 2.x. Unicode более универсален,
чем ASCII. Строки Unicode могут хранить буквы
на иностранных языках, латинские буквы и
цифры, символы, смайлики и т. д., предлагая
пользователю более широкий выбор.
Версии имеют разный синтаксис
22. Синтаксис
Не содержит операторных скобок (begin..end в
pascal или в Си), вместо этого блоки
выделяются
отступами:
пробелами
или
табуляцией, а вход в блок из операторов
осуществляется двоеточием.
Однострочные комментарии начинаются со
знака фунта «#», многострочные — начинаются
и заканчиваются тремя двойными кавычками
«»»»».
23. Синтаксис
Чтобы
присвоить значение переменной
используется знак «=», а для сравнения — «==».
Для увеличения значения переменной, или
добавления к строке используется оператор
«+=», а для уменьшения — «-=». Все эти
операции
могут
взаимодействовать
с
большинством типов, в том числе со строками.
24. Синтаксис
На PYTHON
print(«Hello, World!»)
На С++
#include
void main()
cout >
25. Синтаксис
На PYTHON
print(«Hello, World!»)
На С++
#include
void main()
cout >
26.
Синтаксис
Pascal a := 10;
b := 1;
Pythona =10
b=1
WHILE (a > 0) do
Begin
b = b * 2;
a = a – 1;
End;
while a > 0:
b=b*2
a=a-1
27. Преимущества Python
Скорость выполнения программ написанных на
Python очень высока. Это связанно с тем, что
основные библиотеки Python написаны на C++
и выполнение задач занимает меньше времени,
чем на других языках высокого уровня.
В стандартныx библиотеках Python вы можете
найти средства для работы с электронной
почтой, протоколами Интернета, FTP, HTTP,
базами данных, и пр.
28. Преимущества Python
Скрипты,
написанные при помощи Python
выполняются на большинстве современных ОС.
Такая переносимость обеспечивает Python
применение в самых различных областях.
Python подходит для любых решений в области
программирования,
будь
то
офисные
программы, вэб-приложения, GUI-приложения
и т.д.
29. Преимущества Python
Интерактивный режим
В основном интерпретатор выполняет команды
построчно: пишешь строку, нажимаешь Enter,
интерпретатор выполняет ее, наблюдаешь результат.
Возможности языка позволяют использовать его как
калькулятор, не зная команд программирования.
2+5
3 * (5 — 8)
2.4 + 3.0 / 2
30. Недостатки Python
Python, как и другие интерпретируемые языки,
имеет
сравнительно
невысокую
скорость
выполнения программ. Однако, в случае с Python
этот недостаток компенсируется уменьшением
времени разработки программы. В среднем,
программа на Python в 2-4 раза компактнее, чем
её аналог на C++ или Java
31. Заключение
Задачи, решаемые с помощью Python :
1. Системное программирование.
Встроенные в Python интерфейсы доступа к
службам операционных систем делают его
идеальным
инструментом для создания
переносимых программ и утилит системного
администрирования (иногда
они называются
инструментами командной оболочки).
32. Заключение
Python продолжает оставаться лидирующим
инструментом в :
2. Графический интерфейс.
Простота Python и высокая скорость разработки делают
его отличным средством разработки
графического
интерфейса. В состав Python входит стандартный
объектно-ориентированный
интерфейс к Tk GUI
API, который называется tkinter.
33. Заключение
Python продолжает оставаться лидирующим
инструментом в :
2. Графический интерфейс.
Простота Python и высокая скорость разработки делают
его отличным средством разработки
графического
интерфейса. В состав Python входит стандартный
объектно-ориентированный
интерфейс к Tk GUI
API, который называется tkinter.
34. Заключение
Python продолжает оставаться лидирующим
инструментом в :
3. Веб-сценарии.
Интерпретатор
Python
поставляется
вместе
со
стандартными интернет-модулями, которые позволяют
программам
выполнять
разнообразные
сетевые
операции как в режиме клиента, так и в режиме
сервера. Сценарии могут производить взаимодействия
через сокеты, извлекать информацию из
форм,
отправленных серверным CGI-сценариям; передавать
файлы по протоколу FTP; обрабатывать
файлы XML;
передавать, принимать, создавать и производить разбор
писем электронной почты;
загружать веб-страницы
с указанных адресов URL и многое другое.
35. Заключение
Python продолжает оставаться лидирующим
инструментом в :
4. Интеграция компонентов.
Возможность Python расширяться и встраиваться в
системы на языке и C++ делает его удобным и
гибким языком для описания поведения других систем и
компонентов. Например, интеграция с
библиотекой
на языке C позволяет Python проверять наличие
библиотечных компонентов и запускать
их, а
встраивание Python в программные продукты позволяет
производить настройку программных
продуктов без
необходимости пересобирать эти продукты.
36. Заключение
Python продолжает оставаться лидирующим
инструментом в :
5. Приложения баз данных.
В языке Python имеются интерфейсы доступа ко всем
основным
реляционным базам
данных:
Sybase,
Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite и многим
другим.
6. Быстрое создание прототипов.
В программах на языке Python компоненты, написанные
на Python и на C, выглядят одинаково. Благодаря этому
можно сначала создавать прототипы систем на языке
Python, а затем переносить
выбранные компоненты
на компилируемые языки, что существенно экономит
время разработ
Источник: ppt-online.org
Введение в программирование на языке Python
Программа на языке Python может состоять из одного или нескольких модулей. Каждый модуль представляет собой текстовый файл в кодировке, совместимой с 7-битной кодировкой ASCII. Для кодировок, использующих старший бит, необходимо явно указывать название кодировки. Например, модуль, комментарии или строковые литералы которого записаны в кодировке KOI8 -R, должен иметь в первой или второй строке следующую спецификацию:
# -*- coding: koi8-r -*-
Благодаря этой спецификации интерпретатор Python будет знать, как корректно переводить символы литералов Unicode-строк в Unicode. Без этой строки новые версии Python будут выдавать предупреждение на каждый модуль, в котором встречаются коды с установленным восьмым битом.
О том, как делать программу модульной, станет известно в следующих лекциях. В примерах ниже используются как фрагменты модулей, записанных в файл, так и фрагменты диалога с интерпретатором Python. Последние отличаются характерным приглашением >>> . Символ решетка ( # ) отмечает комментарий до конца строки.
Программа на Python, с точки зрения интерпретатора, состоит из логических строк. Одна логическая строка, как правило, располагается в одной физической, но длинные логические строки можно явно (с помощью обратной косой черты) или неявно (внутри скобок) разбить на несколько физических:
print a, » — очень длинная строка, которая не помещается в», 80, «знакоместах»
Во всех примерах в основном используется «официальный» стиль оформления кода на Python в соответствии с документом «Python Style Guide «, который можно найти на сайте http://python.org
Основные алгоритмические конструкции
Предполагается, что слушатели уже умеют программировать хотя бы на уровне школьной программы, и потому вполне достаточно провести параллели между алгоритмическими конструкциями и синтаксисом Python. Кроме того, Python как правило не подводит интуицию программиста (по крайней мере, науке хорошо известны типичные ошибки начинающих программистов на Python), поэтому изучать синтаксис Python предпочтительнее на примерах, а не с помощью синтаксических диаграмм или форм Бэкуса-Наура .
Последовательность операторов
Последовательные действия описываются последовательными строками программы. Стоит, правда, добавить, что в программах важны отступы, поэтому все операторы, входящие в последовательность действий, должны иметь один и тот же отступ:
a = 1 b = 2 a = a + b b = a — b a = a — b print (a, b)
Что делает этот пример? Проверить свою догадку можно с помощью интерактивного режима интерпретатора Python.
При работе с Python в интерактивном режиме как бы вводится одна большая программа, состоящая из последовательных действий. В примере выше использованы операторы присваивания и оператор print .
Оператор условия и выбора
Разумеется, одними только последовательными действиями в программировании не обойтись, поэтому при написании алгоритмов используется еще и ветвление:
if a > b: c = a else: c = b
Этот кусок кода на Python интуитивно понятен каждому, кто помнит, что if по-английски значит «если», а else — «иначе». Оператор ветвления имеет в данном случае две части, операторы каждой из которых записываются с отступом вправо относительно оператора ветвления. Более общий случай — оператор выбора — можно записать с помощью следующего синтаксиса (пример вычисления знака числа):
if a < 0: s = -1 elif a == 0: s = 0 else: s = 1
Стоит заметить, что elif — это сокращенный else if . Без сокращения пришлось бы применять вложенный оператор ветвления:
if a < 0: s = -1 else: if a == 0: s = 0 else: s = 1
В отличие от оператора print , оператор if-else — составной оператор .
Источник: intuit.ru