pyth_09_func
Заметка 9. Функции и прикладные дела.
курса Математический практикум по Питону.
Шокуров Антон В.
shokurov.anton.v@yandex.ru
http://машинноезрение.рф
Версия 0.13

Аннотация

Создание функций (определение и объявление). Показана важность ранее пройденных объектов: словарь (dict) и кортеж (couple).

Это предварительная версия! Любые замечания приветствуются.

Функции

Отрисовка графика

Напомню:

Как выполнить данное считывания и для других эмитентов, т.е. для других файлов? Можно создать функцию, которая обособит код.

Функции

Мы уже сталкивались с ламбда функциями. Напомню.

Ламбда функция не позволяет задать больше одного действия. Фактически это обособленное выражение. Дабы можно было отделить несколько последовательных операций необходимо использовать функции. Покажем их сначала как вариант ламбда функций.

Функция задаяется (объявляется и определяется) ключевым словом def в начале строки. Далее, через пробел, идет имя, в скобках список её аргументов. Строка звершается двоеточием.

Конечно можно строить композицию.

именные аргументы

В предыдущем вызове функции mysum число 3 будет присвоено первому аргументу функции, т.е. переменной a, а число 2 второму аргументу, т.е. переменной b. Таким образом, значения присваиваются аргументам исходя из того порядка в котором они идут при вызове функции. В Питоне значения аргументов можно передавать не только по номеру аргумента в списке (по позиции), но и по его названию. В Питоне есть возможность этот порядок изменить и выполнить вызов функции явно указав какому аргументу какое значение присовить. Для этого при вызове используется оператор присвоения.

Естественно что существует ряд ограничений.

Можно комбинировать режимы. Но при двух аргументов мало что скомбинируешь. Тем не менее...

Но можно так.

-- Упр. Напиши функцию вычисляющую корень квадратного уравнения. Например, а) больший корень. б) оба корня ввиде набора.

Значения по умолчанию

Упр. Напиши функцию вычисляющую логарифм. По умолчанию основание пусть будет натуральным. Иначе, оно должно быть указано.

Позиционные аргументы

Именные аргументы

Только так:

И те и те

Тело

Упр. Напиши функцию вычисляющую среднее и среднеквадратичное отклонение массива.

Обратно к эмитентам

Чего-то с графиком цены не то... они разного масштаба.

Пусть будет график процентного изменения.

Как во всех этих элементах не запутаться? Напомню, есть такая вещь как словарь.

Каталог эмитентов

Упражнение. Как сделать так чтобы подписи в легенде были не сокращенные названия, а полноценные имена (как в предыдущем графике).

Применение

Обратно к обработке строки

Да и сам список

Как получить табельный номер студента?

Сложный индекс -- объект

На самом деле ранее используемое понятие сложного индекса является объектом питона: slice.

Красивая печать

Декоратор

Упр. Написать декоратор, который проверяет права на вызов функции. т.е. если например в аргументе key содержится нужный ключ. В случае наличия прав функция вызывается, иначе нет (делается пустое действие).

Кэш

Для упрощения восприятия сделаем вручную