
- •Стиль программирования на языке 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.
Модуль math, Модуль random
Встроенный модуль math в Python предоставляет набор функций для выполнения математических, тригонометрических и логарифмических операций. Некоторые из основных функций модуля:
pow(num, power): возведение числа num в степень power ;sqrt(num): квадратный корень числа num
ceil(num): округление числа до ближайшего наибольшего целого
floor(num): округление числа до ближайшего наименьшего целого; factorial(num): факториал числа
degrees(rad): перевод из радиан в градусы; radians(grad): перевод из градусов в радианы
cos(rad): косинус угла в радианах; sin(rad): синус угла в радианах
tan(rad): тангенс угла в радианах; acos(rad): арккосинус угла в радианах
asin(rad): арксинус угла в радианах; atan(rad): арктангенс угла в радианах
log(n, base): логарифм числа n по основанию base; log10(n): десятичный логарифм числа n
Также модуль math предоставляет ряд встроенных констант, такие как PI и E: import math radius = 30 # площадь круга с радиусом 30 area = math.pi * math.pow(radius, 2) print(area) number = math.log(10, math.e) # натуральный логарифм числа 10 print(number)
Модуль random предоставляет функции для генерации случайных чисел, букв, случайного выбора элементов последовательности.
random.random() - возвращает случайное вещественное число от 0 до 1
random.randrange([start,] stop[, step]) - возвращает случайно выбранное число из последовательности range([start,] stop[, step])
random.randint(A, B)- возвращает случайное целое число N из отрезка от А до B
random.choice(sequence) - возвращает случайный элемент непустой последовательности sequence
random.shuffle(sequence, [rand]) - перемешивает последовательность sequence, изменяется сама последовательность. Поэтому функция не работает для неизменяемых объектов
random.sample(population, k) - возвращает список длиной k из последовательности population
random.uniform(A, B) - возвращает случайное число с плавающей точкой N, A ≤ N ≤ B (или B ≤ N ≤ A)
Рассмотрим примеры.
import random
print("random:", random.random(), random.random(), random.random())#случайное вещественное число от 0 до 1
print("random:", random.random()*100, random.random()*100, random.random()*100) #случайное вещественное число от 0 до 100
print("uniform:", random.uniform(50, 100), random.uniform(50, 100), \
random.uniform(50, 100)) #случайное вещественное число от 50 до 100
print("randrange(100):", random.randrange(100), random.randrange(100),\ #randrange(100): 84 50 82 12
random.randrange(100), random.randrange(100)) #случайные числа из последовательности чисел от 0 до 100
print("randrange(50,100):", random.randrange(50,100), \ #randrange(50,100): 69 91 95
random.randrange(50,100), random.randrange(50,100)) #случайные числа из последовательности чисел от 50 до 100
print("randrange(50,100,2):", random.randrange(50,100,2), \ #randrange(50,100,2): 52 78 90
random.randrange(50,100,2), random.randrange(50,100,2)) #случайные чётные числа из последовательности чисел от 50 до 100
print(random.choice([10, 3, -3, 789, 323, 5, 12])) #случайный элемент из последовательности
s = [10, 3, -3, 789, 323, 5, 12]
random.shuffle(s) #Перемешиваем элементы последовательности s
#!!! Нельзя применять к строкам и кортежам
print(s) #[10, 3, -3, 789, 323, 5, 12]
s = [10, 3, -3, 789, 323, 5, 12]
#последовательность из 3-х случайных элементов последовательности s
print(random.sample(s, 3)) #[789, -3, 12]