Size: a a a

Сообщество Python Программистов

2020 October 31

AT

Alexander T in Сообщество Python Программистов
я не понимаю твоего непонимания
функция - это объект, который создается при интерпретации def-стейтмента

def f(): return …

это то же самое, что f = lambda: …

def outer():
   def inner():
       return …
   return inner

то же самое, что
def outer():
   inner = 5
   return inner
источник

E

Egor in Сообщество Python Программистов
ага, только тут outer() и inner будут иметь одни и те же ссылки, насколько я понимаю
источник

A

Alexander in Сообщество Python Программистов
В твоём примере возвращается не результат иннержопы, а её callable
источник

A

Alexander in Сообщество Python Программистов
Т.е jopa возвращает ссылку на иннержопу
источник

A

Alexander in Сообщество Python Программистов
При этом ссылка на саму жопу явно другая
источник

E

Egor in Сообщество Python Программистов
источник

A

Alexander in Сообщество Python Программистов
Т.е. jopa() is jopa()() == False
источник

A

Alexander in Сообщество Python Программистов
Но jopa()() - это твоя самая иннержопа
источник

E

Egor in Сообщество Python Программистов
ага, она возвращает ссылку на иннержопу, но если я сравниваю возвращаемое с ссылкой на иннержопу, то они выходят разными:/
источник

VA

Vadim Apenko in Сообщество Python Программистов
Alexander
Но jopa()() - это твоя самая иннержопа
Запишу в словарь терминов)
источник

A

Alexander in Сообщество Python Программистов
Egor
ага, она возвращает ссылку на иннержопу, но если я сравниваю возвращаемое с ссылкой на иннержопу, то они выходят разными:/
Ещё раз, jopa() и jopa()() - разные ссылки и разные объекты
источник

K

Kazontype in Сообщество Python Программистов
Решите задачку!
источник

A

Alexander in Сообщество Python Программистов
Первая возвращает определение функции (вызываемый, но не вызванный объект), вторая - результат вызова этого объекта
источник

K

Kazontype in Сообщество Python Программистов
Kazontype
Решите задачку!
сделайте функцию sum(int)(int)...(int)
источник

E

Egor in Сообщество Python Программистов
Kazontype
сделайте функцию sum(int)(int)...(int)
уже делали
источник

A

Alexander in Сообщество Python Программистов
Уже было.
источник

K

Kazontype in Сообщество Python Программистов
Ладно...
источник

E

Egor in Сообщество Python Программистов
Alexander
Первая возвращает определение функции (вызываемый, но не вызванный объект), вторая - результат вызова этого объекта
окей, а если так:
def inner():
   return inner
?
источник

A

Alexander in Сообщество Python Программистов
Кроме того, что метод sum не стоит перелпределять, остальное делается рекурсией callable
источник

K

Kazontype in Сообщество Python Программистов
Alexander
Кроме того, что метод sum не стоит перелпределять, остальное делается рекурсией callable
😐
источник