ответвлено от main/python-labs
Изменил(а) на 'TEMA7/report.md'
Этот коммит содержится в:
@@ -433,24 +433,7 @@ TypeError: 'tuple' object does not support item assignment
|
|||||||
102.36921585741014
|
102.36921585741014
|
||||||
```
|
```
|
||||||
Вызов лямбда-функции создает объект класса "функция", который потом можно положить в другую переменную
|
Вызов лямбда-функции создает объект класса "функция", который потом можно положить в другую переменную
|
||||||
и далее вызывать. Но это делать необязательно: если она используется один раз, можно вызвать ее сразу,
|
и далее вызывать.
|
||||||
например:
|
|
||||||
```
|
|
||||||
>>> r = (lambda a, b: a**2 + b)(5, 2) # Это результат функции, а не объект класса "функция"
|
|
||||||
>>> r
|
|
||||||
27
|
|
||||||
```
|
|
||||||
Внутри лямбда-функции не могут использоваться многострочные выражения, например:
|
|
||||||
```
|
|
||||||
>>> r1 = lambda: (for i in range(5): print(i))
|
|
||||||
SyntaxError: invalid syntax
|
|
||||||
```
|
|
||||||
Но при этом:
|
|
||||||
```
|
|
||||||
>>> r1 = lambda: (print(i) for i in range(5))
|
|
||||||
>>>
|
|
||||||
```
|
|
||||||
Аналогично нельзя использовать if-else, но можно использовать тернарный оператор.
|
|
||||||
|
|
||||||
### Пункт 5.2. Функции-генераторы
|
### Пункт 5.2. Функции-генераторы
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user