FilippovDY (FilippovDY) 1 месяц назад
Родитель f758b56577
Сommit 14bc944e41

@ -59,11 +59,12 @@ help вывело справку по функции uspeh в модуле main.
16 больше 5 16 больше 5
``` ```
Так как мы не указали какой тип данных должна принимать функция, то функция сможет работать с любыми данными, которые можно сравнить. Если нельзя сравнить, вернется TypeError. Функция работает с любыми данными, которые можно сравнить. Если нельзя сравнить, вернется TypeError.
```py ```py
>>> n,m='aaa', 'bbbb';sravnenie(n,m) >>> n,m='aaa', 'bbbb';sravnenie(n,m)
aaa меньше bbbb aaa меньше bbbb
``` ```
Сравнение строк происходит по алфавиту, так же значение имеет регистр букв (заглавные меньше строчных), более короткая строка считается меньшей ("abc" < "abcd"), но "hi">"hello"
## 2.3 Функция, содержащая return ## 2.3 Функция, содержащая return
@ -208,6 +209,13 @@ inerz(x, T, ypred)
Программа выводит сообщение "Функция 2", потому что переменная typ_fun не равна 1, и Программа выводит сообщение "Функция 2", потому что переменная typ_fun не равна 1, и
выполняется блок else, в котором функция func определена как выводящая "Функция 2". выполняется блок else, в котором функция func определена как выводящая "Функция 2".
```py
>>> tup_fun=1
>>> func()
Функция 2
```
Сначала у нас выполнялась ветка else, создаётся функция func и вывелось "Функция 2". Эта функция сохранилась в памяти. Потом мы изменили значение typ_fun. Но здесь уже код с if-else не выполняется, функция func остаёся прежней.
# 4. Аргументы функции # 4. Аргументы функции
## 4.1 Возможность использования функции в качестве аргумента другой функции ## 4.1 Возможность использования функции в качестве аргумента другой функции
@ -415,6 +423,7 @@ lambda [<Аргумент1>[,<Аргумент2>,…]]:<Возвращаемое
7 7
``` ```
Здесь при каждом обращении к функции будет генерироваться только одно очередное значение. Здесь при каждом обращении к функции будет генерироваться только одно очередное значение.
При программировании задач у таких функций часто используют метод __next__, активирующий очередную итерацию выполнения функции. При программировании задач у таких функций часто используют метод __next__, активирующий очередную итерацию выполнения функции.
```py ```py
@ -435,6 +444,8 @@ StopIteration
__next__ помогает вывести значение, которое yield передает на каждой итерации цикла. Если функция отработала последнюю итерацию, но мы попытаемся сделать вызов, вернется ошибка. __next__ помогает вывести значение, которое yield передает на каждой итерации цикла. Если функция отработала последнюю итерацию, но мы попытаемся сделать вызов, вернется ошибка.
В отличии от функций, которые возвращают список со значениями итераций, функции - генераторы генерируют значения по одному, не храня всё в памяти; а функция, возвращающая список создаёт весь список в памяти. Также генератор можно использовать только один раз - после прохождения всех значений он "опустошается" и больше не производит элементов.
# 6. Локализация объектов в функциях # 6. Локализация объектов в функциях
По отношению к функции все объекты подразделяются на локальные и глобальные. Локальными являются объекты, которые создаются в функциях присваиванием им некоторых значений. Глобальные – это те объекты, значения которых заданы вне функции. По отношению к функции все объекты подразделяются на локальные и глобальные. Локальными являются объекты, которые создаются в функциях присваиванием им некоторых значений. Глобальные – это те объекты, значения которых заданы вне функции.

Загрузка…
Отмена
Сохранить