Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 28, 2016 08:49:17

Dnpypy
Зарегистрирован: 2016-10-24
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция, возвращаем функцию

 def newfunc(n):
    def myfunc(x):
        return x + n
    return myfunc
new = newfunc(100)  
print(new)

Выводит:
<function newfunc.<locals>.myfunc at 0x000001FF3E5A0B70>
а нужно 200.
В консоли все хорошо :
 def newfunc(n):
    def myfunc(x):
        return x + n
    return myfunc
new = newfunc(100)  
new(200)

Отредактировано Dnpypy (Окт. 28, 2016 09:45:14)

Офлайн

#2 Окт. 28, 2016 11:55:07

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Функция, возвращаем функцию

Dnpypy
print(new)
Dnpypy
new(200)
вам не кажется что это, мягко говоря, разные вещи ?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version