адрес памяти лямбда-выражения о питоне - PullRequest
0 голосов
/ 23 сентября 2018

почему выходные данные отличаются

Случай 1: адрес каждого объекта анонимной функции в разрешении списка одинаков

t = [id(lambda t: t * i) if i % 2 == 0 else id(lambda x: x ** i + 1) for i in range(4)]
print(t)

[140430836691560, 140430836691560, 140430836691560, 140430836691560]

Случай 2: Объект анонимной функции в разрешении списка удален, а адрес другой.

for i in [lambda t: t * i if i % 2 == 0 else lambda x: x ** i + 1 for i in range(4)]:
    print(id(i), end=",")
140307163083368,140307163083640,140307163083504,140307163083776,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...