- •Стиль программирования на языке 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.
Именованные функции: определение и вызов.
Функциями называются обособленные части кода - подпрограммы. Функции можно вызвать несколько раз с разными параметрами. В Python функции могут быть именнованные и анонимные.
Именованные функции
Объявление функции и вызов
Именованные функции начинаются с ключевого слова def.
Функции описывают, затем можно использовать.
Формат описания функции:
In [ ]:
def <имя функции>(<список аргументов>):
<операторы>
Имя функции - это обычный идентификатор, в списке аргументов перечисляются имена аргументов, список аргументов может быть пуст.
Приведем пример функции, которая выводит приветствие
In [1]:
def Hello(name):
print("Hello, ", name, sep='')
#вызов функции
Hello("Marry") #приветствует Marry
Hello("Alex") #приветствуем Alex
Hello, Marry
Hello, Alex
Функция может возвращать некоторое значение, например, стандартная функция cos(x) возвращает число. Тогда в теле функции должен присутствовать оператор return, а после него то значение, которое должно быть возвращено в качестве результата функции.
Рассмотрим пример функции, которая возвращает либо какое из чисел максимальное, либо фразу "Числа равны"
In [2]:
def maximum(a, b):
if a > b:
return "Наибольшее число " + str(a)
elif b > a:
return "Наибольшее число " + str(b)
else:
return "Числа равны " + str(b)
print(maximum(2, 5))
print(maximum(12, 5))
print(maximum(5, 5))
Наибольшее число 5
Наибольшее число 12
Числа равны 5
Рекурсивная функция — это та, которая вызывает сама себя.
Рекурсивной называется функция, внутри которой встречается вызов этой же функции, но с другими параметрами. Такая рекурсия называется простой.
Косвенной называется рекурсия, когда вызов функции осуществляется опосредованно: функция A вызывает функцию B, а функция B вызывает функцию A.
Значение рекурсивной функции задается точно при некоторых граничных значениях аргументов, а при остальных значениях аргументов выражается формулой, где присутствует та же самая функция.
Общий формат записи рекурсивной функции:
def func(arg):
if граничные_условия:
return значение
else:
return выражение_с_рекурсивным_вызовом
Например, факториал числа
n!=1*2*...*(n-1)*n = (n-1)! * n,
0! = 1! = 1.
Т.е. n! выражается через (n-1)!
def fact(n):
if n == 0 or n == 1:
return 1
else:
return fact(n-1) * n
print('1! =', fact(1))
print('5! =', fact(5))
Рекурсивными могут функции, которые не возвращают значения.
Рассмотрим функцию для перевода десятичного числа в систему счисления (СС) с основанием n<10
def trans(a, n=2):
#если не указывать основание СС,
# то число переводится в 2-ичную СС
if a > 0:
trans(a//n, n) #переводим сначала целцю часть от деления a на n
print(a % n, end='')#выводим остатое от деления a на n
print()
trans(14)#перевод числа 14 в 2-ичную систему счисления
print()
trans(14, 3)#перевод числа 14 в 3-ичную систему счисления
print()
trans(14, 8)#перевод числа 14 в 8-ичную систему счисления