Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 17, 2010 15:39:12

straton
От:
Зарегистрирован: 2009-11-17
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

вложенные функции в python 2.6

зачем нужны вложенные функции?
иными словами я не понимаю, в чем разница между декораторами @log и @log_1:


def log(func):
print('Enter in %s' % func.__name__)
func()

@log
def foo():
print(“We are inside foo”)


def log_1(func):
def wrappedFunc():
print('Enter in %s' % func.__name__)
return func()
return wrappedFunc

@log_1
def foo():
print(“We are inside foo”)


как вообще работают вложенные функции?



Отредактировано (Апрель 17, 2010 15:39:52)

Офлайн

#2 Апрель 17, 2010 16:31:14

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

вложенные функции в python 2.6

google замыкания

Офлайн

#3 Апрель 17, 2010 17:09:19

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

вложенные функции в python 2.6

а ты попробуй получить аттрибуты, с которыми вызывалась обёрнутая ф-ция первым способом, поймёшь зачем нужен второй)
погугли, полно постов в блогах, да и у нас на форуме. http://personalpages.tds.net/~kent37/kk/00001.html например

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version