
- •Стиль программирования на языке Python.
- •Программа на Python. Ввод-вывод данных. Основные алгоритмические конструкции. Последовательные действия.
- •Идентификаторы, комментарии, логические и физические строки.
- •Операторы в Python: арифметические, логические, сравнения присваивания, побитовые
- •Встроенные типы данных. Целые и вещественные типы данных.
- •Типы: комплексные числа, логический
- •Встроенные функции для работы с разными типами данных.
- •Возможности модуля math
- •Оператор условия. Варианты написания оператора.
- •Функции range, enumerate.
- •Операторы break, continue.
- •Строки, работа со строками, срезы, методы и функции для работы со строками
- •Списки. Создание списков, методы и функции для работы со списками. Методы join и split.
- •Кортежи. Создание кортежей, обращение к элементам кортежей.
- •Множества. Создание, добавление элементов. Методы и операции для работы с множествами.
- •Словари. Создание словарей, добавление элементов, обращение к элементам. Методы для работы со словарями.
- •Методы словарей
- •Понятие функционального программирования. Принцип построения функциональных программ.
- •Именованные функции: определение и вызов.
- •Аргументы функций: обязательные, ключевые, со значением по умолчанию, произвольной длины
- •Глобальные и локальные переменные. Нелокальная область видимости.
- •Анонимные функции (lambda-выражение)
- •Понятие модуля. Модули в Python. Подключение модулей. Создание своего модуля и пакета модулей.
- •Использование псевдонимов
- •Обзор стандартной библиотеки. Список всех подключенных модулей. Помощь по модулю
- •Модуль math, Модуль random
- •Модуль datatime, Модуль itertools
- •Модуль itertools
- •Модуль itertools. Бесконечные последовательности
- •Модуль itertools. Генерация комбинаций значений!
- •Создание своего модуля и пакета модулей.
- •Работа с файлами в языке Python. Методы объектов-файлов. Модуль pickle.
- •Оператор try ... Exept
- •Пример оператора try...Except.
- •Основные понятия объектно-ориентированного программирования. Определение класса. Конструкторы и деструкторы.
- •Отношения между классами. Наследование.
- •Метаклассы
- •Модуль Numpy. Типы данных, создание массивов, преобразование, нахождение статистик в массивах, операции для работы с массивами
- •Модуль Matplotlib. Основные функции построения графиков разных видов. Изменения параметров графиков и области построения графиков.
- •Обзор графических библиотек. Библиотека Tkinter.
- •Основные виджеты
- •Менеджеры расположения.
- •Изображения в Tkinter.
Модуль datatime, Модуль itertools
Модуль datetime предоставляет классы для обработки времени и даты разными способами. Поддерживается и стандартный способ представления времени, однако больший упор сделан на простоту манипулирования датой, временем и их частями.
Класс datetime.date(year, month, day) - стандартная дата. Атрибуты: year, month, day. Неизменяемый объект.
datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None) - стандартное время, не зависит от даты. Атрибуты: hour, minute, second, microsecond, tzinfo
datetime.timedelta - разница между двумя моментами времени, с точностью до микросекунд
datetime.tzinfo - абстрактный базовый класс для информации о временной зоне (например, для учета часового пояса и / или летнего времени)
datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None) - комбинация даты и времени
Методы класса datetime:
datetime.today() - объект datetime из текущей даты и времени. Работает также, как и datetime.now() со значением tz=None.
datetime.fromtimestamp(timestamp) - дата из стандартного представления времени.
datetime.fromordinal(ordinal) - дата из числа, представляющего собой количество дней, прошедших с 01.01.1970.
datetime.now(tz=None) - объект datetime из текущей даты и времени.
datetime.combine(date, time) - объект datetime из комбинации объектов date и time.
datetime.strptime(date_string, format) - преобразует строку в datetime (так же, как и функция strptime из модуля time).
datetime.strftime(format) - см. функцию strftime из модуля time.
datetime.date() - объект даты (с отсечением времени).
datetime.time() - объект времени (с отсечением даты).
datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) - возвращает новый объект datetime с изменёнными атрибутами.
datetime.timetuple() - возвращает struct_time из datetime.
datetime.toordinal() - количество дней, прошедших с 01.01.1970.
datetime.timestamp() - возвращает время в секундах с начала эпохи.
datetime.weekday() - день недели в виде числа, понедельник - 0, воскресенье - 6.
datetime.isoweekday() - день недели в виде числа, понедельник - 1, воскресенье - 7.
datetime.isocalendar() - кортеж (год в формате ISO, ISO номер недели, ISO день недели).
datetime.isoformat(sep='T') - красивая строка вида "YYYY-MM-DDTHH:MM:SS.mmmmmm" или, если microsecond == 0, "YYYY-MM-DDTHH:MM:SS"
import datetime as dt
print("Today", dt.datetime.today()) #Today 2020-12-08 17:24:42.701024
print("Today", dt.datetime.today().strftime("%d.%m.%Y")) #Today 08.12.2020
print("Now", dt.datetime.now()) #Now 2020-12-08 17:24:42.702023
Модуль itertools
Модуль служит для создания собственных итераторов.
# подключение модуля
import itertools
Модуль itertools. Бесконечные последовательности
count([start = 0][, step = 1]) – создает бесконечную нарастающую последовательность элементов
for i in itertools.count():
if i > 10 : break
print(i, end = ' ') #0 1 2 3 4 5 6 7 8 9 10
cycle(последовательность) – на каждой итерации возвращается очередной элемент последовательности, после того как достигнут последний элемент последовательности перебор начинается сначала
repeat (объект [, количество повторов]) – возвращает объект указанное кол-во раз
for i in itertools.repeat([1, 2, 3], 2):
print(i)
[1, 2, 3]
[1, 2, 3]