- •Стиль программирования на языке 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.
Функции range, enumerate.
Range может быть очень полезной, если вам нужно выполнить действие определенное количество раз.
range ([<начало>,] <конец> [, <шаг>])
>>> for i in range (1, 5, 2): print (i, end = ' ')
1 3
>>> for i in range (5, 1, -2): print (i, end = ' ')
5 3
Встроенная функция enumerate. Периодически требуется пройти по элементам списка и при этом обрабатывать не только значение элемента, но так же и его порядковый номер в списке. Вот в этом случае она и понадобится.
enumerate (<объект> [, start = 0])
arr = [1, 2, 3, 4, 5, 6]
>>> for i, elem in enumerate (arr):
if elem % 2 == 0:
arr[i] *= 2
>>> print (arr) [1, 4, 3, 8, 5, 12]
Операторы break, continue.
Оператор continue начинает следующий проход цикла, минуя оставшееся тело цикла (for или while)
for i in 'hello world':
... if i == 'o':
... continue
... print(i * 2, end='')
...
hheellll wwrrlldd
Оператор break досрочно прерывает цикл.
for i in 'hello world':
... if i == 'o':
... break
... print(i * 2, end='')
...
hheellll
Строки, работа со строками, срезы, методы и функции для работы со строками
2
Списки. Создание списков, методы и функции для работы со списками. Методы join и split.
Списки - последовательность элементов. Элементы могут быть разнотипны. Списки - изменяемые последовательности. Элементы в списках нумеруются, нумерация начинается с 0.
Создание пустого списка:
sp = list()
sp = []
Для списков работают инструменты общие для последовательностей:
операторы in, not in
s += s1 объединение последовательностей
s = s n, s = n s повторение последовательности s n раз
Создание списка с помощью метода split
Можно ввести последовательность элементов через разделитель и при использовании метода split получаем список из строк
s = input().split()
print(s)
w 2 r 333 kkgk
['w', '2', 'r', '333', 'kkgk']
Если вводится последовательность чисел через пробел, то для того чтобы получить список ИЗ ЧИСЕЛ нужно каждый элемент преобразовать в число с помощью int или float. Для этого удобно использовать генератор.
#введем последовательность чисел через ТОЧКУ
#и преобразуем их в список из чисел
s = [int(x) for x in input().split('.')]
#получаем список ИЗ ЧИСЕЛ
print(s)
Метод join применяется к строке, в качестве параметра ему передается список ИЗ СТРОК. Метод возвращает строку, состоящую из элементов списка, разделенных строкой, к которой применяется join
s = ['a', 'ab', 'aer', '123']
stroka1 = '.'.join(s) #stroka1: a.ab.aer.123
print('stroka1:', stroka1)
stroka2 = ''.join(s)
print('stroka2:', stroka2) #stroka2: aabaer123
stroka3 = '-=-'.join(s)
print('stroka3:', stroka3) # stroka3: a-=-ab-=-aer-=-123
Функции для работы со списками
len(s) - длина списка (количество элементов)
max(s) - максимальный элемент списка
min(s) - минимальный элемент списка
sum(s) - сумма элементов списка
bool(s) – возвращает True, если список не пустой
s = list(string1) – преобразует строку string1 в список, где каждый элемент - это символ строки string1
Методы для работы со списками
s.index(x) - номер первого вхождения элементв x в список s, в случае отсутствия x в s – ошибка
s.index(x, k) - номер первого вхождения элементв x в список s, начиная с позиции k, в случае отсутствия x в s – ошибка
s.count(x) - количество вхождений элементв x в список s
s.append(x) - добавление элементв x в список s
s.extend(s1) - добавление элементов списка s1 в список s
s.insert(n, x) - вставить в список s нв позицию с номером n элемент x
x = s.pop(n) – получить n-й элемент списка, удалив его
s.remove(x) - удалить из s первое вхождение x, в случае отсутствия x в s – ошибка
s.reverse() - развернуть список в обратном порядке
s.sort() – отсортировать список s по возрастванию элементов
s.sort(reverse=True) – отсортировать по убыванию элементов
s.copy() - возвращает копию списка s