ответвлено от main/python-labs
Tema7/report.md
Этот коммит содержится в:
@@ -59,11 +59,12 @@ help вывело справку по функции uspeh в модуле main.
|
||||
16 больше 5
|
||||
```
|
||||
|
||||
Так как мы не указали какой тип данных должна принимать функция, то функция сможет работать с любыми данными, которые можно сравнить. Если нельзя сравнить, вернется TypeError.
|
||||
Функция работает с любыми данными, которые можно сравнить. Если нельзя сравнить, вернется TypeError.
|
||||
```py
|
||||
>>> n,m='aaa', 'bbbb';sravnenie(n,m)
|
||||
aaa меньше bbbb
|
||||
```
|
||||
Сравнение строк происходит по алфавиту, так же значение имеет регистр букв (заглавные меньше строчных), более короткая строка считается меньшей ("abc" < "abcd"), но "hi">"hello"
|
||||
|
||||
|
||||
## 2.3 Функция, содержащая return
|
||||
@@ -206,7 +207,14 @@ inerz(x, T, ypred)
|
||||
```
|
||||
|
||||
Программа выводит сообщение "Функция 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. Аргументы функции
|
||||
@@ -415,6 +423,7 @@ lambda [<Аргумент1>[,<Аргумент2>,…]]:<Возвращаемое
|
||||
7
|
||||
```
|
||||
|
||||
|
||||
Здесь при каждом обращении к функции будет генерироваться только одно очередное значение.
|
||||
При программировании задач у таких функций часто используют метод __next__, активирующий очередную итерацию выполнения функции.
|
||||
```py
|
||||
@@ -435,6 +444,8 @@ StopIteration
|
||||
|
||||
__next__ помогает вывести значение, которое yield передает на каждой итерации цикла. Если функция отработала последнюю итерацию, но мы попытаемся сделать вызов, вернется ошибка.
|
||||
|
||||
В отличии от функций, которые возвращают список со значениями итераций, функции - генераторы генерируют значения по одному, не храня всё в памяти; а функция, возвращающая список создаёт весь список в памяти. Также генератор можно использовать только один раз - после прохождения всех значений он "опустошается" и больше не производит элементов.
|
||||
|
||||
|
||||
# 6. Локализация объектов в функциях
|
||||
По отношению к функции все объекты подразделяются на локальные и глобальные. Локальными являются объекты, которые создаются в функциях присваиванием им некоторых значений. Глобальные – это те объекты, значения которых заданы вне функции.
|
||||
|
||||
Ссылка в новой задаче
Block a user